<变量名> = open(<文件名>,<打开模式>)
文件名:文件路径和名称
绝对路径 windows系统中文件的路径方式:D:\PYE\f.txt 在Linux系统中文件的路径方式:D:/PYE/f.txt 由于在python中\是转义符,因而文件路径采用两种方式 单斜杠:D:/PYE/f.txt 双反斜杠:D:\\PYE\\f.txt 相对路径:如果当前程序存储在D盘根目录下,那么调用文件路径 ./PYE/f.txt 如果当前程序在PYE目录中,那么调用文件路径 f.txt 如果不使用完整路径,可以使用特殊字符双点(..)来向前移动一个目录 ../f.txt打开模式:文本模式/二进制模式
f=open("f.txt") #文本形式、只读模式、默认值 f=open("f.txt","rt")#文本形式、只读模式、同默认值 f=open("f.txt","w") #文本形式、覆盖写模式 f=open("f.txt","a+")#文本形式、追加写模式+读文件 f=open("f.txt","x") #文本形式、创建写模式 f=open("f.txt","b") #二进制形式、只读模式 f=open("f.txt","wb")#二进制形式、覆盖写模式<变量名>.close() 在程序中如果文件打开了,没有写关闭语句,只要程序正常退出,文件会被自动关闭
文件的全文本操作: 遍历全文本:
fname=input() fo=open(fname,"r") txt=fo.read()//保存为字符串txt #对全文txt进行处理 fo.close() #一次读入,全部处理 #如果文件体量过大,会耗费时间和资源 fname=input() fo=open(fname,"r") txt=fo.read(2) while txt !="": txt=fo.read(2) fo.close() #按数量读入,逐步处理文件的逐行操作: 逐行遍历文件
fname=input() fo=open(fname,"r") for line in fo.readlines(): print(line) fo.close() #一次读入,分行处理 fname=input() fo=open(fname,"r") for line in fo: print(line) fo.close() #分行读入,逐行处理fo=open("output.txt","w+") ls=["中国","法国","美国"] fo.writelines(ls) fo.seek(0) #输入完之后,将指针放回文件开头,而后打印输出才有内容 for line in fo: print(line) fo.close()
有时文件读写时可能会产生错误,导致f.close()语句不会被执行,文件无法正常关闭,所以为了保证无论是否出错都能正确关闭文件,Python引入了with语句来自动调用close()方法
#读文件 with open('../f.txt','r') as f: s=f.read() print(S)