Python温习(一) —— IO读取

Python温习(一) —— IO读取,第1张

概述读取文件路径问题1、在路径前面加r,即保持字符原始值的意思sys.path.append(r'G:/Python_programing/IOest.txt')2、替换为双反斜杠sys.path.append('G:\Python_programing\IO\test.txt')3、替换为正斜杠sys.path.append('G:/Python_programing/IOest.txt') 读取文件路径问题

1、在路径前面加r,即保持字符原始值的意思

sys.path.append(r'G:/Python_programing/IO/test.txt')  

2、替换为双反斜杠

sys.path.append('G:\Python_programing\IO\test.txt')  

3、替换为斜杠

sys.path.append('G:/Python_programing/IO/test.txt')   
测试示例
# example 1f = open('G:/Python_programing/IO/test.txt','r')      # 文件路径符号为/    !!!print(f.read())f.close()# example 2# 由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用,# 故建议使用try ... finally来实现文件的读取和关闭try:     f = open('G:/Python_programing/IO/test.txt', 'r')     print(f.read()) finally:     if f:         f.close()# example 3# 引用with语句,自动帮调用close()方法  with open('G:/Python_programing/IO/test.txt', 'r') as f:    print(f.read())
关于文件读取API函数的选择
调用read()会一次性读取文件的全部内容;考虑到内存问题,可以反复调用read(size)方法,每次最多读取size个字节的内容;调用readline()可以每次读取一行内容调用readlines()一次读取所有内容并按行返回List;
二进制二进制文件

读取二进制文件(图片、视频等) 用'rb'模式打开文件即可

测试示例
f = open('G:/Python_programing/IO/test.jpg', 'rb')      # 超大print(f.read())                                         # 十六进制表示的字节
字符编码字符编码规范文件

读取非UTF-8编码的文本文件,需要给open()函数传入enCoding参数,例如,读取GBK编码文件

f = open('G:/Python_programing/IO/gbk.txt','r',enCoding='gbk')s = f.read()print(s)f.close()
字符编码不规范文件

open()函数可接收一个errors参数,表示如果遇到编码错误后 --- 如何处理,最简单的方式是直接忽略

f = open('G:/Python_programing/IO/gbk.txt', 'r', enCoding='gbk', errors='ignore')
写文件
#example 1f = open('G:/Python_programing/IO/test.txt', 'w')f.write('Hello, world!')f.close()#务必要调用f.close()来关闭文件 --- 写文件时, *** 作系统不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入#example 2with open('G:/Python_programing/IO/test.txt', 'w') as f:#以'w'模式写入文件时,如果文件已存在,会直接覆盖(相当于删掉后新写入一个文件)    f.write('+1')# 追加末尾with open('G:/Python_programing/IO/test.txt', 'a') as f:    f.write('+2')
# 模式	描述  # t	    文本模式 (默认)。  # x 	    写模式,新建一个文件,如果该文件已存在则会报错。    # b	    二进制模式。  # +	    打开一个文件进行更新(可读可写)。   # U	    通用换行模式(Python 3 不支持)。   # # r	    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。    # rb	    以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。    # r+	    打开一个文件用于读写。文件指针将会放在文件的开头。   # rb+	    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。   # # w	    打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。        # wb	    以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。    # w+	    打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 # wb+	    以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 # # a	    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 # ab	    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。   # a+	    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。   # ab+	    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写  
总结

以上是内存溢出为你收集整理的Python温习(一) —— IO读取全部内容,希望文章能够帮你解决Python温习(一) —— IO读取所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1186019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存