#文件概述日常生活中常见的文本、图片、音频、视频等都是文件,文件的作用是存储数据的持久性。文件格式分为文本文件和二进制文件、图片、音频和视频,python程序源文件(.py),文本文件(.txt)都是文本文件。无论磁盘存储中存储什么类型的文件,制的形式存储,不同类型的文件使用不同的程序,如文本文件VisualStudio Code检查时将二进制转化为相应的Unicode编码对应的字符。二进制文件不能由普通文本编辑器打开,通常由特殊程序打开。用户需要在操作文件之前打开文件,并在操作完成后关闭文件。 在操作文件时,程序还应首先打开文件。打开文件时,可以设置打开模式(读写),然后是操作文件,操作完成后关闭文件。当程序在操作文件时 如果文件是文本文件,则以文本的形式打开文件,包括以下三种打开模式 * r 表示read text,以文本的形式打开文件阅读,文件存在,打开成功,文件不存在,打开失败 * w 表示write text,无论文件是否存在,都会创建新的文件 * a 表示append text,以文本的形式打开文件并添加文件。如果文件不存在,架上存在您的文件和文件。打开文件后,在文件末尾写下数据r+、w+和a+都有读写文件的功能,但针对r+如果打开的文件不存在,就会报错而不创建文件。如果文件是二进制文件,文件以二进制的形式打开,包括以下三种模式 * rb 表示read binary text,通过二进制打开文件阅读,文件存在,打开成功,文件不存在,打开失败 * rw 表示write binary text,无论文件是否存在,都会创建新的文件 * ab 表示append binary text,以二进制的方式打开文件并添加。如果文件不存在,则床架上存在您的文件和文件。打开文件后,在文件末尾写下数据#文件常见操作# **文件开关 **打开使用文件open()函数,函数需要两个参数,一个是文件的路径,另一个是文件的开启模式。 """ """ @author tony [email protected] @version 2021-02-06 13:08:01 @since python3.9.1 """ # 以写作模式打开文件 如果文件不存在,将创建文件。如果文件存在,文件内容将被清空 file = open(“python.txt”,“w”) # 以读模式打开文件,文件不存在 ,因为FileNotFoundError: [] No such file or directory: 导致错误 file = open(“python.txt”,“r”)
#<_io.TextIOWrapper name=‘python.txt’ mode=‘r’ encoding=‘UTF-8’> print(file) # file.close()跟光磊学Python开发文件管理日常开发中文件操作完成后应该及时关闭文件,避免占用系统资源。# **读取文件 **读取文件时使用read()函数,默认情况下,函数读取文件的所有内容,只适用于小文件读取的应用场景。如果是大文件读取,则指定读取指定字节数字节(例如1024,4096)数据。 除此之外,还有readline()函数读取一行文件,会忽略文件内容的转义字符,readlines()以行的形式一次性读取整个文件的内容,并将其放入列表中。在阅读文件之前,先到测试文件python.txt填充点内容跟光磊学Python开发文件管理读取python.txt文件的全部内容 """ @author tony [email protected] @version 2021-02-13:16:17 @since python3.9.1 """ print(“读取python.txt所有文件”) # 通过阅读打开文件,读取12个字节") # 阅读指定字节数量的文件 # 通过阅读打开文件, file = open(“python.txt”,“r”) # 读取文件,默认读取所有文件内容 content = file.read() print(content) file.close()跟光磊学Python开发文件管理读取python.txt文件全部内容,读取12个字节 """ @author tony [email protected] @version 2021-02-13:16:17 @since python3.9.1 """ print(“读取python.txt文件全部内容,
文件=open(“引用”;蟒蛇txt“,"E;r“;)
内容=文件。read(十二) print(有限公司ntent) 文件。close()
跟光磊学Python开发文件管理
程序运行结果𞓜 循环读取python Txt,每次读取12字节 print(“引用”;循环读取python Txt,一次读取12个字节“引用”;)
#以读取模式打开文件,
文件=open(“引用”;蟒蛇txt“,"E;r“;) 为True时: 内容=文件。read(十二) #读取文件时,如果读取内容为空字符串,则表示文件已被读取 #将此条件设置为文件读取结束的条件 如果内容=“”: 中断 print(内容,结束=";"E;) 文件。close()
程序运行结果
跟光磊学Python开发文件管理
循环读取python Txt,一次读取一行 print(“引用”;循环读取python Txt,每次读取一行“引用”;)
文件=open(“引用”;蟒蛇txt“,"E;r“;) 为True时: 内容=文件。雷亚尔dline() 如果内容==";";: 中断 print(有限公司ntent) 文件。close()
程序运行结果
跟光磊学Python开发文件管理
循环读取python Txt,读取文件并将其存储在列表中 print(“引用”;循环读取python Txt,读取文件并将其存储在列表中“引用”;) 文件=open(“引用”;蟒蛇txt“,"E;r“;) content\uList=文件。阅读lines()
#遍历文件内容列表
以获取内容列表中的内容: print(内容,结束=";"E;) 程序运行结果
跟光磊学Python开发文件管理
**文件写入 **
使用将数据写入文件write(有限公司ntent)函数,前提是在使用该函数时打开一个文件。文件必须具有给定的写入权限和写入模式𞓜
“";"E; 文件写入 @作者[email protected] @2021版-02-06 14:07:06 @自python3.9.1 “起”;"E;
#打开python TXT文本文件 文件=open(“引用”;蟒蛇txt“,"E;“a”;) 文件。write(“引用”;向广磊学习Linux操作和维护”;) 文件。close()
#打开python Txt文件
文件=open(“引用”;蟒蛇txt“,"E;r“;)
#循环读取文件
为true时: #每次读取一行 内容=文件readline() 如果内容==";";: 中断 print(内容,结束=";"E;) 𞓜 程序运行结果
跟光磊学Python开发文件管理
**文件的其他常见操作 **
目录也是一个文件。该文件的其他常见功能位于操作系统模块
下*rename()重命名文件 *remove()删除文件
- mkdir()创建目录 *g级etcwd()获取当前目录
- chdir()将路径从当前目录更改为指定目录 *锂stdir()目录列表
- rmdir()要删除目录,只能删除空目录。如果目录不为空,则无法删除 1将python Txt添加到java Txt python。Txt文件必须存在。否则,它将被重命名,因为filenotfounderror:[]没有这样的文件或 目录:‘python txt’->‘java。Txt’导致程序错误 import os # 将python.txt改成java.txt os.rename(“python.txt”,“java.txt”) 2. 文件重名 3. 创建在当前路径下operartor目录指定的目录不能存在,否则会因为FileExistsError: [] File exists: ‘operator import os # 在当前目录下创建operator 目录os.mkdir(“operator”)跟光磊学Python开发文件管理. 获取当前工作 目录 import os print(“目前的工作目录是”,os.getcwd())跟光磊学Python开发文件管理. 获取指定目录的文件列表 * .表示目录 * .. 表示目录上一级目录 import os # 获取当前目录的文件列表 file_list = os.listdir(”.") # for f in file_list: # print(f)程序运行结果跟光磊学Python开发文件管理 6. 将目录改为指定路径,并查看变更后的路径和文件列表 import os # 切换当前目录/Users/liuguanglei/Documents/workspace/python/ittimelinedotnet/ os.chdir("/Users/liuguanglei/Documents/workspace/python/ittimelinedotnet/") # 获取当前路径os.getcwd() # 打印当前路径的文件列表 print(os.listdir()) 跟光磊学Python开发文件管理 . 删除当前工作目录java.txt文件 import os print(“当前的工作目录是”, os.getcwd()) os.remove(“java.txt”)跟光磊学Python开发文件管理. 删除当前工作目录opeator目录目录 目录目录目录 目录目录import os
print(“目前的工作目录是”,os.getcwd()) os.rmdir( “/Users/liuguanglei/Documents/workspace/python/ittimelinedotnet/python/net/ittimeline/python/foudational/file/operator”) 跟光磊学Python开发文件管理 删除operator# **文件复制 **文件的复制是读取文件内容的过程,然后写入指定的文件中。 读取的文件内容称为源文件,写入的文件称为目标文件。 为了让程序能够更加灵活,源文件和目标文件从终端获取,而Python要获得终端参数,需要获得终端参数import sys导入sys然后使用模块sys.argv列表获取终端输入的参数 """ @author tony [email protected] @version 2021-02- @since python3.9.1 """ import sys def file_copy(src,dst)""" :param src: param dst: return: """ # 通过只读打开文本文件 file_src = open(src,“rb”) # 每次读4096个字节 while True: content = file_src.read(4096) if content == b"": print(“成功复制文件”) break # 通过写作打开目标文本文件 file_dist = open(dst,dst) “wb”) # 将读取的源文本文件的内容写入目标文本文件中 file_dist.write(content) #关闭目标文件 file_dist.close() # file_src.close() # 获取终端的第二个参数 src = sys.argv # 获取终端的第三个参数 dst = sys.argv file_copy(src,
然后选择源文件并在终端
上打开它跟光磊学Python开发文件管理
然后在终端上调用python 3解释器运行程序,传入源文件和目标文件的路径以复制文件, **请注意,路径必须是绝对路径 **。
python3文件\uuCopy。Py/用户/刘广磊/文档/书籍/python学习笔记md。/Python学习笔记MD复制文件
跟光磊学Python开发文件管理
程序运行结果
跟光磊学Python开发文件管理
**文件夹复制 **
文件夹复制是在文件复制的基础上,通过目录循环后复制文件。首先,在目录 /users/liuguangli/documents/book/java
中准备几本pdf书籍跟光磊学Python开发文件管理
然后将 /users/liuguanglei/documents/book/java下的书籍复制到 /users/liuguanglei/documents/book/java\uBak目录
中"E; 目录副本 @作者[email protected] @2021版-02-06 15:32:28 @自python3.9.1 “起";"E; 导入os
def directory\ucopy(src,dst): “quot;";"E; 批处理文件复制和重命名 :param src:源目录 :param dst:目标目录 :返回: “;"E;
#默认为当前目录,即程序所在的目录 print(“引用”;当前工作目录为"e;,操作系统。g级etcwd() ) #将工作目录切换到源目录 oschdir( src) print(“引用”;切换工作目录后,当前工作目录为"e;,操作系统。g级etcwd() )
#获取当前工作目录的文件列表
SRC\ufile\ulist=os。锂stdir(";"E;)
#创建目标目录
osmkdir( dst)
#遍历源文件目录文件名
对于SRC\uFile\uList中的SRC\uFile\uName: #重命名文件。遍历的文件是要复制的源文件。重命名的文件是复制的文件 SRC\ufile\uname\upartition=SRC\ufile\uname。rpart公司ition(";"E;) #复制源文件时生成的目标文件加上Bak后缀 dst\uuFile=dst+“/&”QUOTE;+src\uFile\uName\uPartition[]+“u”bak“;+src\uFile\uName\uPartition[]+\
src\uuFile\uName\uPartition[]
print(“f”;目标文件名为{dst\u file}"e;)
#分别以读模式和写模式打开源文件和目标文件
文件 读=open(src\uuFile\uName,";“rb”;) 文件写入=open(dst\uuFile,“文件”;wb“;)
#读取内容,写入内容
为真时: #每次 content=file\uuread读取4个字节。read(四千零九十六) 如果内容==b”;";: print(“f”;F{src\u file\u name}复制成功“;) file\uuuwrite。close() file\uuuread。close() 中断 #读取内容不是空的写入目标文件 file\uuwrite。write(有限公司ntent) 其他: print(“f”;已完全复制{len(src\uu文件\ulist)}文件“;) 𞓜 程序运行结果
跟光磊学Python开发文件管理
跟光磊学Python开发文件管理