注意:文件夹(目录/dir)和文件(file)是不一样的操作也是不一样的
在网上看了很多关于文件的操作,现在做一个自己的笔记加上综述,顺便总结注意事项。
1.打开文件(读文件)
with open(r"C:\Users\ASUS-PC\Desktop\单词\zt.docx.txt", 'r',) as f: s = f.read()
with
调用close()
方法关闭文件,文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的:
>>> f.close()
由于文件读写时都有可能产生IOError
,一旦出错,后面的f.close()
就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally
来实现:
try:
f = open('/path/to/file', 'r')
print(f.read())
finally:
if f:
f.close()
但是每次都这么写实在太繁琐,所以,Python引入了with
语句来自动帮我们调用close()
方法:
with open('/path/to/file', 'r') as f:
print(f.read())
这和前面的try ... finally
是一样的,但是代码更佳简洁,并且不必调用f.close()
方法。
‘r’ 读文件
‘w’ 写文件,覆盖原有文件内容
‘a’ 添加文件内容,不覆盖
2.写文件
with open(r"C:\Users\ASUS-PC\Desktop\单词\zt.docx.txt",'w') as w: w.write('tom')
3.文件添加(追加)内容(语法和写的区别仅仅在于'w'和'a')
with open(r"C:\Users\ASUS-PC\Desktop\单词\zt.docx.txt",'a') as w: w.write('tom')
4.创建文件
>>>f=open('f.txt','w') # r只读,w可写,a追加
>>>for i in range(0,10):f.write(str(i)+'\n') #写入的内容为0-9
. . .>>> f.close()
5.替换文件字符
# 打开文件,然后读取内容到内存中
with open('test.txt','r') as f:
s = f.readlines()
# 接着打开文件,用replace替换掉你内存中的内容,然后写入文件
with open('test.txt','w') as w:
for i in s:
w.write(i.replace('nihao','hi'))
6.文件夹删除(dir目录删除)
import os
os.rmdir(r"C:\Users\ASUS-PC\PycharmProjects\untitled1\ok")
7.文件删除(file删除)
import os
os.remove(r"C:\Users\ASUS-PC\PycharmProjects\untitled1\dump.txt")