python文件I/O

常用的有:读取键盘输入,打开关闭文件

一、读取键盘输入(这里只说2.X版本的用法吧)

raw_input()

input()

先说raw_input() ,将输入作为字符串看待,返回字符串类型,不显示结尾的符号

input(),可接收一个python表达式返回结果,也可以显示键盘输入的字符

二、打开关闭文件

通常使用open函数打开一个文件对象,之后可调用文件对象的方法

file_open_ceshi = open(文件名,打开模式[可选],是否寄存[可选])

文件名为字符串格式,打开模式有很多种,默认只读,通常有个列表

模式 r r+ w w+ a a+
+ +   +   +
  + + + + +
创建     + + + +
覆盖     + +    
指针在开始 + + + +    
指针在结尾         + +

有了file对象,就可以使用对应属性了,如:下表

属性 描述
file.closed 返回true如果文件已被关闭,否则返回false。
file.mode 返回被打开文件的访问模式。
file.name 返回文件的名称。
file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。

尽量保证使用closed属性及时关闭文件

其他方法:

file.write()可将任意字符串写入打开的文件中,也可以是二进制数据

file.read()从一个打开的文件中读取字符串,从文件开头读

file.tell()返回当前文件内的位置

file.seek() 改变当前文件的位置

os模块还提供了重命名和删除的方法

rename() 方法,2个参数,当前文件名和新文件名

os.rename('当前文件名','新文件名')

os.remove('删除文件名')

创建目录:例如在当前目录下新建test目录,os.madir('test')

改变当前目录:os.chdir('newdir')

显示当前工作目录:os.cwd()

删除目录:os.rmdir('/tem/test')

三、介绍下文件相关的方法------file()

open()方法返回文件对象,无法打开时抛出OSError

列举个常用的方法:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

file: 必需,文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式
buffering: 设置缓冲
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型

opener:

file常用方法列表

序号 方法及描述
1

file.close()

关闭文件。关闭后文件不能再进行读写操作。

2

file.flush()

刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

3

file.fileno()

返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。

4

file.isatty()

如果文件连接到一个终端设备返回 True,否则返回 False。

5

file.next()

返回文件下一行。

6

file.read([size])

从文件读取指定的字节数,如果未给定或为负则读取所有。

7

file.readline([size])

读取整行,包括 "\n" 字符。

8

file.readlines([sizeint])

读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。

9

file.seek(offset[, whence])

设置文件当前位置

10

file.tell()

返回文件当前位置。

11

file.truncate([size])

截取文件,截取的字节通过size指定,默认为当前文件位置。

12

file.write(str)

将字符串写入文件,返回的是写入的字符长度。

13

file.writelines(sequence)

向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

备注:

操作文件时可以使用try...finally来捕获异常,最常用的方法是使用with...open,避免了try的冗余和close方法

猜你喜欢

转载自www.cnblogs.com/zhang007/p/9994528.html