关于永久存储指针的问题
1. 还是上一题的那个文件(FishC.txt),这次请编写代码,截取前面 15 个字符,并保存覆盖保存原文件。代码清单:来自:https://fishc.com.cn
f = open("FishC.txt", "r+")
f.seek()
f.truncate(10)
f.close()
请问f.seek()的意思不是指针到开头吗?
此时再f.truncate(10),不是只截取到第10个字符吗? `f.seek()` 的确是用于移动文件指针的位置,但是调用时需要指定参数。例如,`f.seek(0)` 将文件指针移动到文件开头。没有参数的 `f.seek()` 是不合法的用法,会导致错误。
在您的代码中,您想截取前 15 个字符并覆盖保存原文件。以下是修正后的代码:
f = open("FishC.txt", "r+")
# 移动文件指针到文件开头
f.seek(0)
# 读取文件的前15个字符
content = f.read(15)
# 移动文件指针到文件开头
f.seek(0)
# 清空文件并写入前15个字符
f.truncate(0)
f.write(content)
f.close()
这里我们做的是:
1. 打开文件并移动指针到文件开头。
2. 读取前 15 个字符。
3. 将指针再次移动到开头,清空文件并写入这 15 个字符。
这样可以确保文件中仅保留原始内容的前 15 个字符。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]