对文件的基本操作一共有如下四种:
打开文件 1 file_obj = open("文件路径","模式")
常用的打开文件模式有:
r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
读取文件的内容 1 2 3 4 5 obj.read():一次性加载所有内容到内存 obj.readLines():一次性加载所有内容到内存,并根据行分割成字符串 for line in obj: print line #每次仅读取一行数据
写文件的内容
关闭文件句柄
常见用法:
1 2 3 4 obj = open("test.log","r") for line in obj: print(line) obj.close()
1 2 3 4 obj = open("test.log","w") obj.write("This is the first line\n") obj.write("This is the second line\n") obj.close()
1 2 3 obj = open("test.log","a") obj.write("This is the three line\n") obj.close()
1 2 3 4 obj = open("test.log","w+") obj.write("new line\n") print("data:",obj.read()) obj.close()
实战
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import os def readFile(filename): file = open(filename,'rb') data=file.readlines() file.close() return data def writeFile(filename,data): file= open(filename,'wb') file.write(data) file.close() print 'File had been writed Succed!' if __name__=="__main__": sourcefile = './b.py' outputfile = './target.txt' writeFile(outputfile,readFile(sourcefile)) print 'end!'
获取文件夹下所有的文件名
os.walk()1 2 3 4 5 def file_name(file_dir): for root, dirs, files in os.walk(file_dir): print(root) #当前目录路径 print(dirs) #当前路径下所有子目录 print(files) #当前路径下所有非目录子文件
1 2 3 4 5 6 7 8 9 def file_name(file_dir): L=[] for root, dirs, files in os.walk(file_dir): for file in files: if os.path.splitext(file)[1] == '.csv': L.append(os.path.join(root, file)) return L # 其中os.path.splitext()函数将路径拆分为文件名+扩展名
<
From Excel to Python——Data Analysis
Python函数使用
>