文件操作是python中比较简单的一项,但同时他也十分重要。
找到一个文件,打开它
open(文件路径,mode=''''',encording="")
文件路径分为相对路径和绝对路径。绝对路径就是你主页是的文件或目录在硬盘真正的路径,不太适合项目迁移,相对路径就是相对于当前文件的路径。网页中一般表示路径就是用的这种方法............
通常用open("../")表示返回上一级文件夹,"../"表示上一级文件夹,后面可加那一层文件的路径名。
mode有不同的类型,分别用简写r,w,a,b等表示。r就是read,表示读取,w就是write,表示写入,a表示append,意为追加写入,b:读写的是非文本文件binary。
一般来讲,表示读取文件的操作比较简单,通常为:
f = open("JOJO's Bizzare Advenure.txt",mode = "r",encording = "utf-8")
content = f.read() #全部读取
print(content)
如果要选择一行一行地读,则用f.readline()#系统会读一行然后往下走一点,如果全部读完,则需要不断重复这串代码,结果会是每行之间都空一行,这是因为print内部存在一个换行符,而该函数也存在一个换行符。若要去掉这一效果,则可以用:
line = f.readline().strip.()
strip()函数可以去掉字符串左右两端的空格,换行以及制表符。
重要的文本读取方式:
for line in f: #从f中读取每一行数据。
print(line.strip())
__________________________________________________
前面讲到w是写入的意思,在w模式下,如果文件不存在,系统会自动地创建一个文件
f = open("JOJO.txt",mode = "w",encording = "utf-8")
w模式下,每一次open都会清空文件中的内容
f.write() #添加
f.close() #要养成好习惯,每一次操作后要关闭文件
#大多数情况下应该把open写在循环外面。
with:联系上下文,不需要手动去关闭一个文件。
读取文件也可以写为:
with open (''JOJO.txt",mode = "r",encording="utf-8") as f:
for line in f:
print(line.strip())
__________________________________________________
如果想要读取图片,即读取非文本文件时,需要加上“b”
...........mode ="rb"
文件复制:从源文件中读取内容,写到新路径
文件修改:处理大文件的思路为“偷梁换柱”,先新建一个源文件的副本,将源文件的内容读取出来,在内存中进行修改,修改之后写到副本中去,再把源文件删除,将副本的名字改为源文件的名字,这个速度只要够快则看不出痕迹。
time.sleep(3) >>>让程序休眠3秒。