赞
踩
今天整理文件操作这一块的笔记,发现针对open函数的参数详解的博客真的筛不出来,但是我又迫切的想知道各个参数具体是怎么用的,翻了好多个博客发现要么只有前两个参数的解释,要么就是直接把官网搬过来了。无奈之下我只能对着官网手抠案例,终于把参数这里理顺了
我直接从笔记里粘贴进来的,参数的解释和案例都摆上了。文件操作的其他详细内容将会在【python基础——文件操作中】
处理标准 | 错误含义 |
---|---|
strict | 如果存在编码错误拋异常,和默认None效果一样 |
ignore | 忽略错误,但是需要注意如果忽略错误会导致数据丢失 |
replace | 将错误部分替换为� |
backslashreplace | 用 Python 的反斜杠转义序列替换格式错误的数据。 |
使用utf-8编码写的中文使用gbk进行读取
UnicodeDecodeError: 'gbk' codec can't decode byte 0x97 in position 0: incomplete multibyte sequence # strict
hello鍚 # ignore
hello鍚� # replace
hello鍚\x97 # backslashreplace
f = open('test.txt', 'w', 10, None, None, None) f.write('nihaoya\nhaojiubujianle\r\nnizuijinhaoma\r') f.close() f = open('test.txt', 'r', 1, None, None, '') print(f.readlines()) f.close() # 先看写,将读的newline置为''不进行任何转换 ''' 更改写的newline None:['nihaoya\n', 'haojiubujianle\r\n', 'nizuijinhaoma\r'] # 将\n转换为系统换行符,mac执行os.linesep依旧是\n,所以相当于没有转换 '':['nihaoya\n', 'haojiubujianle\r\n', 'nizuijinhaoma\r'] # 没有进行转换 '\n':['nihaoya\n', 'haojiubujianle\r\n', 'nizuijinhaoma\r'] # 没有进行转换 '\r':['nihaoya\r', 'haojiubujianle\r', '\r', 'nizuijinhaoma\r'] # 将\n转换成了\r '\r\n':['nihaoya\r\n', 'haojiubujianle\r', '\r\n', 'nizuijinhaoma\r'] # 将\n转换成了\r\n ''' # 下面将写部分的newline置为'',看读 ''' 更改读的newline None:['nihaoya\n', 'haojiubujianle\n', 'nizuijinhaoma\n'] # 所有换行符都被换成了\n '':['nihaoya\n', 'haojiubujianle\r\n', 'nizuijinhaoma\r'] # 原样,没有进行任何转换 '\r':['nihaoya\nhaojiubujianle\r', '\nnizuijinhaoma\r'] # 只按\r进行换行 '\n':['nihaoya\n', 'haojiubujianle\r\n', 'nizuijinhaoma\r'] # 只按\n进行换行 '\r\n':['nihaoya\nhaojiubujianle\r\n', 'nizuijinhaoma\r'] # 只按\r\n进行换行 '''
类别 | 描述 |
---|---|
r | 只读,文件指针在文件的开头,如果文件不存在会抛异常 |
rb | 以二进制格式打开文件,只读,文件指针在文件的开头,如果文件不存在会抛异常 |
r+ | 读写,文件指针在文件的开头,如果文件不存在会抛异常 |
rb+ | 以二进制格式打开文件,读写,文件指针在文件的开头,如果文件不存在会抛异常 |
w | 只写【覆盖】,文件指针在文件的开头,如果文件存在,则打开后覆盖原有内容,若文件不存在会新建文件 |
wb | 以二进制格式打开文件,只写【覆盖】,文件指针在文件的开头,如果文件存在,则打开后覆盖原有内容,若文件不存在会新建文件 |
w+ | 读写【覆盖】,文件指针在文件的开头,如果文件存在,则打开后覆盖原有内容,若文件不存在会新建文件 |
wb+ | 以二进制格式打开文件,读写【覆盖】,文件指针在文件的开头,如果文件存在,则打开后覆盖原有内容,若文件不存在会新建文件 |
a | 只写【追加】,文件指针在文件的结尾,如果文件存在,则打开后覆盖原有内容,若文件不存在会新建文件 |
ab | 以二进制格式打开文件,只写【追加】,文件指针在文件的结尾,如果文件存在,则打开后覆盖原有内容,若文件不存在会新建文件 |
a+ | 读写【追加】,文件指针在文件的结尾,如果文件存在,则打开后覆盖原有内容,若文件不存在会新建文件 |
ab+ | 以二进制格式打开文件,读写【追加】,文件指针在文件的结尾,如果文件存在,则打开后覆盖原有内容,若文件不存在会新建文件 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。