1.读写文件
读取或写入文件:
格式:file = open(文件名,模式)
读文件:file.read() # 默认读取全部内容
写文件:file.write(内容)
关闭文件:file.close()
file 叫文件句柄,用来操作文件。
1.1文件操作:读
read()
调用read()会一次性读取文件的全部内容,如果文件大了一定程度,内存就爆了,会导致程序卡死,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字符的内容。size的单位是byte.
readline()
每次读取一行,并且自带换行功能 每一行末尾会读到\n
readlines()
readlines,一次性以行的形式读取文件的所有内容并返回一个list,需要去遍历读出来。
循环读取
file句柄是一个可迭代的对象因此,可以循环读取文件中的内容,每次读一行。
1.2文件操作:写
write(内容)
直接将要写入的内容放入write中即可,覆盖之前内容。
writelines(可迭代对象(字符串格式))
把内容全部写到文件中(多行一次性写入)。
a
打开一个文件,追加不覆盖。
2.OS中的文件操作
import os
# 1重命名文件
os.rename("text1.txt","text2.txt")
# 2删除文件
os.remove("write_file1.txt")
# 3创建目录
os.mkdir("ppp")
# 4创建多级目录
os.makedirs("p/pp/ppp/pppp")
# 5删除目录
os.rmdir("ppp")
# 6删除多及目录,前提目录必须为空,不为空无法删除
os.removedirs("p/pp/ppp/pppp")
# 7获取当前文件路径(绝对路径)
print(os.getcwd())
# 8展示指定路径下的文件
print(os.listdir(os.getcwd()))
# 9修改路径
os.chdir(os.getcwd()+"\\t")
# 10判断一个文件或文件夹是否存在
print(os.path.exists("1111.py"))
# 11判断是否是文件
print(os.path.isfile("t"))
print(os.path.isfile("1111.py"))
# 12判断是否为目录
print(os.path.isdir("t"))
print(os.path.isdir("1111.py"))
# 13获取绝对路径
print(os.path.abspath('1111.py'))
# 14判断一个路径是否为绝对路径
print(os.path.isabs("1111.py"))
print(os.path.isabs("cd\\da\\1111.py"))
# 15获取文件的最后部分(可以是文件或文件夹)
print(os.path.basename("1111.py"))
print(os.path.basename("E:\\cd\\da"))
# 16获取文件的路径部分,如果只有文件则无法获取
print(os.path.dirname("1111.py"))
print(os.path.dirname("E:\\cd\\da\\1111.py"))
# 17将指定的两个路径连接起来
print(os.path.join(os.path.dirname("E:\\cd\\da\\1111.py"),os.path.basename("1111.py")))
查看某文件夹下的全部文件:
#查看某文件夹下的全部文件
import os
def func1(file_path):
f_list = os.listdir(file_path)
for f in f_list:
f_new = os.path.join(file_path, f)
if os.path.isdir(f_new):
func1(f_new)
else:
print(f_new)
func1('D:\\test')