python 文件操作

正常打开文件读取

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地址。


热评文章