-
File对象测试数据的读写与操作
#def open(file, mode=\'r\', buffering=None, encoding=None, errors=None, newline=None, closefd=True): # known special case of open #file: 操作的文件 #mode:打开这个文件的模式 \'r\' open for reading (default)读取 - 默认值。打开文件进行读取,如果文件不存在则报错。 \'w\' open for writing, truncating the file first写入 - 打开文件进行写入,如果文件不存在则创建该文件。 \'x\' create a new file and open it for writing创建 - 创建指定的文件,如果文件存在则返回错误。 \'a\' open for writing, appending to the end of the file if it exists追加 - 打开供追加的文件,如果不存在则创建该文件。 \'b\' binary mode二进制模式 \'t\' text mode (default)文本 - 默认值。文本模式。 \'+\' open a disk file for updating (reading and writing)打开磁盘文件进行更新(读写) \'U\' universal newline mode (deprecated)通用换行模式(已弃用)
#buffering:可选参数,用于指定对文件做读写操作时,是否使用缓冲区
#encoding:手动设定打开文件时所使用的编码格式,不同平台的 ecoding 参数值也不同,以 Windows 为例,其默认为 cp936(实际上就是 GBK 编码)
1.读取
file = open(\"test0925.py\")#默认为r res = file.read() print(res) #def open(file, mode=\'r\', buffering=None, encoding=None, errors=None, newline=None, closefd=True): # known special case of open #file: 操作的文件 #mode:打开这个文件的模式
file = open(\"test0925.py\",\"r\")#默认为r res = file.read() print(res)
2.写入
#写入 file = open(\"test0925.py\",\"w\",encoding=\"utf8\")#w写入,覆盖源文档的内容,乱码时添加encoding=\"utf8\" file.write(\"测试\")
3.追加
#追加 file = open(\"test0925.py\",\"a\",encoding=\"utf8\")#w写入,覆盖源文档的内容,乱码时添加encoding=\"utf8\" file.write(\"aaaa\")
4.按行读取
#按行读取 file = open(\"test0925.py\",\"r\",encoding=\"utf8\") read = file.readline()#读取一行 print(read)
5.读取多行
#全部读取 file = open(\"test0925.py\",\"r\",encoding=\"utf8\") reads = file.readlines()#读取所有行 print(reads)
-
OS操作文件夹/获取路径
1.文文件夹(目录)
1.1.绝对路径/相对路径
#相对路径/绝对路径 第一种(绝对路径表示法):C:\\FIle\\file two 第二种(相对路径表示法):FIle two
1.2.新建目录
import os #新建文件夹 os.mkdir(\"Eclipse\")#
1.3.跨级新建目录
import os #跨级新建目录 os.mkdir(\"Eclipse/US\")#跨级必须确保层级目录存在,相对路径
1.4.绝对路径新建目录
import os #绝对路径新建目录 os.mkdir(\"D:\\\\test_mkdir\")#绝对路径
1.5.删除目录
#目录不为空时删除失败
import os #删除文件夹 os.remove(\"demo.py\")
import os #删除 os.rmdir(\"m1/m2\")
2.获取路径
2.1.获取当前工作目录
#获取当前工作目录 import os path = os.getcwd() print(path)#D:\\File\\python_project\\demo\\api
2.2.获取当前文件所在的绝对路径(具体到模块名)
#获取当前文件所在的绝对路径 import os realpath = os.path.realpath(__file__)# __file__表示当前文件本身 print(realpath)#D:\\File\\python_project\\demo\\api\\demo02.py
2.3.拼接路径 +
#拼接路径 import os new_path = os.getcwd()+\"\\\\m1\\\\m2\" # \\\\两个反斜杠可以,\\一个反斜杠可以,/一个斜杠也可以 print(new_path) #打印新的绝对路径
2.4.拼接路径 join
#路径拼接 import os path = os.getcwd().join(\"test02\") #拼接 print(path)
file = os.path.join(\"C/itt\",\"ABC\")# ☆ ☆ ☆
print(file) #C/itt\\ABC
2.5.判断是否为文件
#判断文件 import os path = os.path.isfile(__file__)#判断是否为文件 print(path)#True path2 = os.path.isfile(os.getcwd())#判断当前路径是否为文件 print(path2)#False
2.6.判断是否为文件夹
#判断文件夹 import os path = os.path.isdir(__file__)#判断当前绝对路径是否为文件夹 print(path)#False path2 = os.path.isdir(os.getcwd()) print(path2)#True
2.7.判断路径是否存在
#判断路径是否存在 import os bool = os.path.exists(\"D://download\") print(bool) #True
2.8.打印指定路径下所有文件和文件夹
#罗列当前路径下所有的文件文件夹 import os list_path = os.listdir(\"C:\\system_software\\PyCharm 2019.1.3\") print(list_path)#[\'bin\', \'build.txt\', \'debug-eggs\', \'help\', \'helpers\', \'helpers-pro\', \'index\', \'jre64\', \'lib\', \'license\', \'plugins\', \'product-info.json\', \'skeletons\']
2.9.写一个函数,判断是否为目录,如果时目录罗列出所有的文件文件夹
#写一个函数,判断是否为目录,如果时目录罗列出所有的文件文件夹 import os def path_list(path): if os.path.exists(path) and os.path.isdir(path):#判断是否为文件夹,是否存在 for item in (os.listdir(path)):#便利列表 new_path = path + \"\\\\\" + item #使用join拼接: new_path = os.path.join(path,item) if os.path.isdir(new_path):#是否为文件夹 print(\"D:{0}\".format(new_path))#文件夹 elif os.path.isfile(new_path):#是否为文件 print(\"F:{0}\".format(new_path))#文件 else: print(\"错误路径:{0}\".format(new_path)) path_list(\"C:\\system_software\\PyCharm 2019.1.3\") 输出:
D:C:\\system_software\\PyCharm 2019.1.3\\bin F:C:\\system_software\\PyCharm 2019.1.3\\build.txt D:C:\\system_software\\PyCharm 2019.1.3\\debug-eggs D:C:\\system_software\\PyCharm 2019.1.3\\help D:C:\\system_software\\PyCharm 2019.1.3\\helpers D:C:\\system_software\\PyCharm 2019.1.3\\helpers-pro D:C:\\system_software\\PyCharm 2019.1.3\\index D:C:\\system_software\\PyCharm 2019.1.3\\jre64 D:C:\\system_software\\PyCharm 2019.1.3\\lib D:C:\\system_software\\PyCharm 2019.1.3\\license D:C:\\system_software\\PyCharm 2019.1.3\\plugins F:C:\\system_software\\PyCharm 2019.1.3\\product-info.json D:C:\\system_software\\PyCharm 2019.1.3\\skeletons
2.9.1.拓展(递归)
通过递归 获取指定路径下所有的文件文件夹,包括文件夹下的所有文件和文件夹
#通过递归 获取指定路径下所有的文件文件夹,包括文件夹下的所有文件和文件夹 import os def aqual_path(path): # os.path.exists(path)#判断是否为路径 # os.path.isdir(path)#是否为一个文件夹 if os.path.exists(path) and os.path.isdir(path): #若果是一个有效的文件夹,则获取当前路径下所有文件/文件夹 listss = os.listdir(path) for item in listss: new_path = os.path.join(path,item) if os.path.isdir(new_path): print(\"D:{0}\".format(new_path)) aqual_path(new_path)#递归,调用本函数 elif os.path.isfile(new_path): print(\"F:{0}\".format(new_path)) else: print(\"无效:{0}\".format(new_path)) aqual_path(\"E:\\娱乐\\电影集\\China\")
输出:
D:E:\\娱乐\\电影集\\China\\林超贤导演 F:E:\\娱乐\\电影集\\China\\林超贤导演\\红&海&行动.mp4 F:E:\\娱乐\\电影集\\China\\真三国无shuang.2021.HD.1080P.国粤双语中字.mkv F:E:\\娱乐\\电影集\\China\\误杀2.2021.HD.1080P.国语中英双字.mkv F:E:\\娱乐\\电影集\\China\\送你一朵小红hua.mkv D:E:\\娱乐\\电影集\\China\\郭敬明导演 F:E:\\娱乐\\电影集\\China\\郭敬明导演\\爵1迹1.mp4 F:E:\\娱乐\\电影集\\China\\郭敬明导演\\爵1迹2:冷血狂宴.mp4 F:E:\\娱乐\\电影集\\China\\长津湖.2021.BD.1080P.国语中字.mkv
来源:https://www.cnblogs.com/QAbujiaban/p/16989301.html
本站部分图文来源于网络,如有侵权请联系删除。