python学习笔记9 -- 文件操作

一、文件路径

绝对路径                相对路径

在pycharm上复制文件路径:

python学习笔记9 -- 文件操作_第1张图片

python学习笔记9 -- 文件操作_第2张图片

二、打开文件

利用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())

你可能感兴趣的:(python学习笔记,学习,笔记)