流程:
1.打开文件 open("文件名",“打开的方式 读或写”)
2.操作文件 write read
3.关闭文件 close()
打开文件。
a = open("文件名,相对路径或者绝对路径","打开方式 读或写",encoding="编码解码格式"(不写的话默认系统的编码方式))
a获取的是指向文件名的一个句柄。
seek应用:比如断点续传。
操作文件。
读取。
a.read() : 读取文件全部内容。括号中可以跟数字,读取的是字符数。
a.readline() : 读取文件一行的内容,包括结尾的换行符。
a.readlines() : 读取文件的所有行,返回一个列表,每个元素就是每行的内容,包括换行符
写入。
a.write("Hello") :把Hello写入内存中,当遇到程序结束,或者a.close()会把内容写入磁盘文件中。
a.writelines(["111 ","111 "]) : 可以写入多行
a.flush() : 刷新,把write中的内容直接刷新到磁盘中。
a.seek() : 移动光标位置,括号中写数字,表示的是移动的字节数
a.seek(1)=a.seek(1,0):1表示光标位置,0表示以开头为准,默认为0
a.seek(3,1): 3表示光标位置,1表示以当前光标位置为准。
a.seek(-3,2): 3表示倒数第三个位置,2表示从结尾位置为准。
a.tell(): 显示当前光标的位置。
模拟输出进度条。
import sys #系统模块
sys.stdout #标准输出句柄,如同上面的a。
sys.stdout.write("aaaaa") #向屏幕输出aaaaa
:光标回到当前行首,实现刷新输出的进度条,
:回车到下一行。
:制表符。
import time,sys
for i in range(30):
a = i / 29
sys.stdout.write('
%d%%%s'%(a*100,"*"*i)) #
让光标回到行首
sys.stdout.flush()
time.sleep(0.5)
关闭文件。
a.close()
如果每次都怕最后忘了写close(),那么可以用with来实现:
with open("a.txt","r",encoding="utf8") as a:#以读的方式utf8编码打开文件,句柄命名为a,下面缩进的语句都是对文件的操作。
for i in a:
print(i)
重命名和删除文件。
python的os模块提供了对文件的操作,如重命名和删除。
os.rename():重命名文件。
os.rename("旧文件名","新文件名")
os.remove(): 删除文件
os.remove("要删除的文件名")