python进阶一(文件的处理方式)

一、文件操作方法:

                          文件操作的结果都是str,需要将 str转化为 python 的对象才能后续进行操作。

1、open(‘文件的路径’,‘文件的打开方式’,encoding = 文件的编码格式):

             ① 该方法为需要关闭文件: 文件句柄.close()。

             ② 如果以二进制方式处理不需要加编码格式。常用于存储 音乐与图片。

             ③文件句柄只能遍历一次。

                     注意: 文件句柄 只能打印一次

f = open('111.txt','r',encoding='gbk')  # 默认为系统的编码格式
print(f.read())   # 读取全部
print(f.readlines())  # 将所有内容 打印为列表,每一行文本作为列表的每一个元素。
print(f.readline())     # 打印一行 , 类似迭代器中的 .__next__() ,一行一行读取。
print(f.readline())
for i in f.readlines():        # for循环readines的列表 打印全部,相当于 f.read()
    print(i)
for i in f:                   # 循环打印全部
    print(i)              # 结果
f.close()                  # 文件读取结束

(1)文件的路径:相对路径 、绝对路径。

(2)文件打开的方式:

1、w 写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写
   w+ 是读写内容,只要沾上w,肯定会清空原来的文件
2、r 读模式,只能读,不能写,而且文件必须存在
   r+ 是读写模式,只要沾上r,文件必须存在
3、a 追加模式,也能写,在文件的末尾添加内容
4、rb+、wb+、ab+,这种是二进制模式打开或者读取,一些音乐文件

2、with open(‘文件的路径’,‘文件的打开方式’,encoding = 文件的编码格式)  as f:

①不用关闭文件,系统自动关闭。

                     读
with open('test1.txt','r+') as file:
    for line in file:
         print('line里面存放的是:',line) # 循环打印文件中每一行内容
         print(type(line)) # <class 'str'> 类型是字符串

                    写
with open('222.txt','wb') as file1:
    f = open('111.txt', 'rb')
    file1.write(f.read())
    f.close()     # 关闭 文件句柄 f

猜你喜欢

转载自blog.csdn.net/qq_16555103/article/details/84025145