赞
踩
很少用python操作文件,今天使用with open()函数后报错如下:
- with open('README.txt','rw') as f:
- f.write(e.emojize('Hello, user:rose::'))
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- ValueError: must have exactly one of create/read/write/append mode
解决办法:
python中的open函数没有rw这个参数,如果需要又读又写,可以使用r+或者w+来代替。
r | 默认读取 |
r+ | 读写文件 |
rb | 读二进制 |
rb+ | 读写二进制 |
w | 默认写 |
w+ | 读写文件 |
wb | 写二进制 |
wb+ | 读写二进制 |
a | 默认追加 |
a+ | 追加写入和读取 |
ab | 追加二进制 |
ab+ | 追加写入和读取二进制 |
更改代码后,成功执行文件操作。
- >>> with open('README.txt','w+',encoding='utf-8') as file:
- ... file.write(e.emojize('Hello, user :rose::'))
- ... file.write(e.emojize('\nNotion: If you want to use all emoji, please add language=\'alias\'.:red_heart:',True))
- ...
- 14
- __main__:3: DeprecationWarning: The parameter 'use_aliases' in emoji.emojize() is deprecated and will be removed in version 2.0.0. Use language='alias' instead.
- To hide this warning, pin/downgrade the package to 'emoji~=1.6.3'
- 69
之后再使用python读出该文件,可以看到成功输入标题和表情(utf-8而不能使用默认gkb)。
- >>> with open('README.txt','r+',encoding='utf-8') as f:
- ... print(f.read())
- ...
- Hello, user 声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/278417推荐阅读
相关标签
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。