一、文件路径
绝对路径 相对路径
在pycharm上复制文件路径:
二、打开文件
利用open函数
open("文件路径","模式", encoding = "utf-8")
注:
模式包括两种:r:只读,w:只写,该参数也可不写,默认为读取模式
在读取模式下,如果找不到程序名,会报错:FileNotFoundError
encoding:编码方式,目前常用为utf-8
三、读取文件
read方法
f = read("./abc.txt","r", encoding = "utf-8")
print( f.read() )
一次性读取文件中全部内容,并以字符串的形式进行返回
read注:
调用完read一次后再调用一次,会读空字符串,并打印
原因:第一次read后已经读到结尾,程序会记录read的最后位置,第二次read时从该位置继续读取
文件特别大的情况下,最好不用read
可以在read括号中加入一个数字,表示读多少字节
下一次再read时,会从该读取位置继续往下读
f = read("./abc.txt","r", encoding = "utf-8")
print( f.read(10) ) # 会读第1-10个字节的文件内容
print( f.read(10) ) # 会读第11-20个字节的文件内容
readline方法:
读取文件一行的内容,下一次调用就读下一行。
根据换行符来判断某行结尾,并且换行符也是读到内容的一部分。
注:利用while循环
fl = open("./abx.txt","r", encoding = "utf-8")
line = f.readline() #读第一行
while line != "":
print(line)
line = f.readline() #继续读下一行
readlines方法:
会读取全部文件内容,并把每行作为元素列表元素返回,与for循环结合
fl = open("./abx.txt","r", encoding = "utf-8")
lines = f.readlines() #把每行内容存储到列表里
for line in lines:
print(line) #打印当前行
四、写文件
#如果该文件存在,会将之前的文件全部清空后重新写入
#不想重新写入,调用a模式:附加模式
#无论w或a,都无法读取文件
#在r模式后加一个➕,可以同时支持读写文件,并且是以追加的形式增加新内容
with open("./data.txt","w",encoding = "utf-8") as f:
#如果该文件存在,会将之前的文件全部清空后重新写入
#不想重新写入,调用a模式:附加模式
#无论w或a,都无法读取文件
#在r模式后加一个➕,可以同时支持读写文件,并且是以追加的形式增加新内容
f.write("Hello")
#write不会在每次调用时帮助换行,需要手动加换行符\n
五、关闭文件
关闭文件,释放资源:
f.close()
自动关闭:
with open("./adc.txt") as f :
#对文件的操作,执行完毕后会自动释放
print(f.read())