这个代码好像有问题,请问正确的应该怎么写?
本帖最后由 wbzxz 于 2024-7-17 07:40 编辑在小甲鱼老师的”《零基础入门学习Python》【最新版】“课程中,第五十三讲第一个题
1. 还是上一题的那个文件(FishC.txt),这次请编写代码,截取前面 15 个字符,并保存覆盖保存原文件。
老师给出了两个答案,但我感觉都不对,请修改为正确答案,谢谢,老师给出的代码如下:
第一个方法
f = open("FishC.txt", "r+")
f.seek()
f.truncate(10)
f.close()
第二个方法
f = open("FishC.txt", "a")
f.truncate(10)
f.close()
鱼油,你好!你说的小甲鱼老师的题目有点小问题,没关系,咱们一起来看看怎么修正。
首先,分析题目:要求截取文件 `FishC.txt` 的前 15 个字符,并覆盖保存原文件。
老师给的两个代码都有点瑕疵,咱们可以修正一下。
**第一个方法:**
f = open("FishC.txt", "r+")
# 读取前15个字符
content = f.read(15)
# 将文件指针移动到文件开头
f.seek(0)
# 截断文件
f.truncate()
# 写入前15个字符
f.write(content)
# 关闭文件
f.close()
**第二个方法:**
其实第二个方法有点不太适合,因为以 `'a'` 模式打开文件是追加模式,而不是读写模式。所以,我们重新用 `'r+'` 模式来写第二个方法:
f = open("FishC.txt", "r+")
# 读取文件所有内容
content = f.read()
# 截取前15个字符
content = content[:15]
# 将文件指针移动到文件开头
f.seek(0)
# 截断文件
f.truncate()
# 写入前15个字符
f.write(content)
# 关闭文件
f.close()
这样,我们既能截取文件前15个字符,又能覆盖保存原文件。希望这个解答对你有帮助!加油!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]