输入
-
- input()
- open(filename, mode):r,b,w,a(不存在,会抛出异常)
-
r 以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式。如果文件不存在,抛出异常 w 以只写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件 a 以追加方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入 r+ 以读写方式打开文件。文件的指针将会放在文件的开头。如果文件不存在,抛出异常 w+ 以读写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件 a+ 以读写方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入 -
-
文件对象:
f.read()
f.write()
f.close()
with… open as …
-
-
f.readline() 读取单独的一行 f.readlines() 所有行 f.tell() 返回文件对象当前所处的位置, 从文件开头开始算的字节数 f.seek(x,num) 如果要改变文件当前的位置,移动x个 0 表示开头, 如果是 1 表示当前位置, 2 表示文件的结尾 -
-
文件指针:标记 从哪个位置开始读取数据
第一次打开 文件时,开始位置
当执行了 read 后,移动到 读取内容的末尾
默认情况下 文件末尾
-
pickle模块:
基本接口:
pickle.dump(obj, file, [,protocol])
x = pickle.load(file)
-
File常用函数
open(file, mode=’_’)
函数 | 说明 |
---|---|
file.close() | 关闭文件。 |
file.flush() | 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 |
file.fileno() | 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。 |
file.isatty() | 如果文件连接到一个终端设备返回 True, |
file.next() | Python 3 中的 File 对象不支持 next() 方法。返回文件下一行。 |
file.read([size]) | 从文件读取指定的字节数,如果未给定或为负则读取所有。 |
file.readline([size]) | 读取整行,包括 “\n” 字符。 |
file.readlines([sizeint]) | 读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。 |
file.seek(offset[, whence]) | 移动文件读取指针到指定位置 |
file.tell() | 返回文件当前位置。 |
file.truncate([size]) | 从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。 |
file.write(str) | 将字符串写入文件,返回的是写入的字符长度。 |
file.writelines(sequence) | 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 |
OS文件常用:
函数 | 说明 | 方法 |
---|---|---|
rename | 重命名文件 | os.rename(源文件名, 目标文件名) |
remove | 删除文件 | os.remove(文件名) |
listdir | 目录列表 | os.listdir(目录名) |
mkdir | 创建目录 | os.mkdir(目录名) |
rmdir | 删除目录 | os.rmdir(目录名) |
getcwd | 获取当前目录 | os.getcwd() |
chdir | 修改工作目录 | os.chdir(目标目录) |
path.isdir | 判断是否是文件 | os.path.isdir(文件路径) |
文件文本的编码:
ASCII:256 字符,一个占1 个字节(8 个 0/1 的排列组合方式)
UNICODE:unf-8:1~6 个字节 来表示,大多数汉字用 3 个字节