正常打开文件读取
f = open(‘/root/Desktop/test/chen.txt’,’rt’)
open()内建函数,第一个参数是文件绝对路径,第二个是对文件操作的权限
r
以读方式打开文件,可读取文件信息。
w
以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容
a
以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建
r+
以读写方式打开文件,可对文件进行读和写操作。
w+
消除文件内容,然后以读写方式打开文件。
a+
以读写方式打开文件,并把文件指针移到文件尾。
b
以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。
with
with open('somefile.txt', 'rt') as f:
data = f.read()
为了写入一个文本文件,使用带有 wt 模式的 open() 函数, 如果之前文件内容存在则清除并覆盖掉。如下所示:
# Write chunks of text data
with open('somefile.txt', 'wt') as f:
f.write(text1)
f.write(text2)
...
# Redirected print statement
with open('somefile.txt', 'wt') as f:
print(line1, file=f)
print(line2, file=f)
...
如果是在已存在文件中添加内容,使用模式为 at 的 open() 函数
文件的读写操作默认使用系统编码,可以通过调用 sys.getdefaultencoding() 来得到。 在大多数机器上面都是utf-8编码。如果你已经知道你要读写的文本是其他编码方式, 那么可以通过传递一个可选的 encoding 参数给open()函数。如下所示:
with open('somefile.txt', 'rt', encoding='latin-1') as f:
...
Python支持非常多的文本编码。几个常见的编码是ascii, latin-1, utf-8和utf-16。 在web应用程序中通常都使用的是UTF-8。 ascii对应从U+0000到U+007F范围内的7位字符。 latin-1是字节0-255到U+0000至U+00FF范围内Unicode字符的直接映射。 当读取一个未知编码的文本时使用latin-1编码永远不会产生解码错误。 使用latin-1编码读取一个文件的时候也许不能产生完全正确的文本解码数据, 但是它也能从中提取出足够多的有用数据。同时,如果你之后将数据回写回去,原先的数据还是会保留的。
file
print file('/root/Desktop/test/chen.txt', 'rt').read()
file与open 区别
python3没有file了,基本这俩一样
什么是IO?
i就是input输入,O就是output输出,一起就是基本输入输出设备
I/O也就是输入输出地址。每个设备都会有一个专用的I/O地址,用来处理自己的输入输出信息。I/O地址绝对不能重复,如果两个设备的I/O地址有冲突,系统硬件就不能正常工作。以Windows XP操作系统为例,查看一个设备所占用的I/O地址的方法是:在系统桌面中选择“我的电脑”,单击鼠标右键,选择“属性”,在弹出的“系统属性”对话框中选择“硬件”,单击“设备管理器”按钮,弹出一个“设备管理器”窗口,在设备列表中双击要查看的I/O地址设备类型,然后双击具体的设备名称,在弹出对话框的“资源”选项卡中就可以看到该设备所占用的I/O地址了。在“资源设置”区域,可以看到显卡占用的I/O地址。