f1 = open(r"D:\\cyy 工作\斗 破 苍 穹.txt","rb") f2 = open('D:\\cyy 工作\zhuan.txt','w',encoding='GB18030') d = f1.read() da = d.decode('GB18030','replace') f2.write(da) f1.close() f2.close() f2 = open('D:\\cyy 工作\zhuan.txt','r',encoding='GB18030') lines = f2.seek()#读取全部内容 print(lines)为什么输出的只有文档的一半内容
时间: 2023-12-15 13:05:16 浏览: 132
在你的代码中,存在以下问题:
1. `f2.seek()`函数返回的是文件指针当前所在的位置,而不是文件的全部内容。应该使用`f2.read()`函数来读取文件的全部内容。修改代码如下:
```python
f1 = open(r"D:\\cyy 工作\斗 破 苍 穹.txt", "rb")
f2 = open('D:\\cyy 工作\zhuan.txt', 'w', encoding='GB18030')
d = f1.read()
da = d.decode('GB18030', 'replace')
f2.write(da)
f1.close()
f2.close()
f2 = open('D:\\cyy 工作\zhuan.txt', 'r', encoding='GB18030')
lines = f2.read() # 读取全部内容
print(lines)
```
2. 在写入文件时,建议使用`with`语句,可以自动关闭文件,避免忘记关闭文件而导致资源泄漏。修改代码如下:
```python
with open(r"D:\\cyy 工作\斗 破 苍 穹.txt", "rb") as f1, open('D:\\cyy 工作\zhuan.txt', 'w', encoding='GB18030') as f2:
d = f1.read()
da = d.decode('GB18030', 'replace')
f2.write(da)
with open('D:\\cyy 工作\zhuan.txt', 'r', encoding='GB18030') as f2:
lines = f2.read() # 读取全部内容
print(lines)
```
以上代码修改后应该可以正确读取txt文件的全部内容了。
阅读全文