day3 文件操作
Posted 一晃而过的少年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day3 文件操作相关的知识,希望对你有一定的参考价值。
1.文件基本的读取操作
f = open(‘chenli.txt‘) #打开文件 first_line = f.readline() print(‘first line:‘,first_line) #读一行 print(‘我是分隔线‘.center(50,‘-‘)) data = f.read()# 读取剩下的所有内容,文件大时不要用 print(data) #打印读取内容 f.close() #关闭文件
2.文件打开基本的读写追加 参数
- r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
- w,只写模式【不可读;不存在则创建;存在则清空内容】
- x, 只写模式【不可读;不存在则创建,存在则报错】
- a, 追加模式【可读; 不存在则创建;存在则只追加内个文件
"+" 表示可以同时读写某个文件
- r+, 读写【可读,可写】
- w+,写读【可读,可写】
- x+ ,写读【可读,可写】
- a+, 写读【可读,可写】
"b"表示以字节的方式操作
- rb 或 r+b
- wb 或 w+b
- xb 或 w+b
- ab 或 a+b
表示:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
2.编写拷贝文件程序
import sys #python3 copy.py source.file target.file if len(sys.argv) < 3: print(‘Usage:python3 copy.py source.file target.file‘) sys.exit() with open(r‘%s‘ %sys.argv[1],‘rb‘) as read_f, open(r‘%s‘ %sys.argv[2],‘wb‘) as write_f: for line in read_f: write_f.write(line)
3.文件内的光标移动
1. 文件打开方式为文本模式时,代表读取3个字符
2. 文件打开方式为b模式时,代表读取3个字节
3.其余的文件内光标移动都是以字节为单位如seek表示让光标跳转大到指定位置,tell显示光标那个字节,truncate
4. 语法格式:file.seek(offset, whence=0):
--> offset: 偏移量,需要向前或者是向后移动的字节数
--> whence: 可选值,默认为0, 可选值为1或者2,表示从何处开始计算偏移,具体来说,
--> 0表示从当前位置开始计算偏移
--> 1表示从文件头位置开始计算偏移
--> 2表示从文件尾开始计算偏移
以上是关于day3 文件操作的主要内容,如果未能解决你的问题,请参考以下文章