我是春鸡 发表于 2024-11-25 23:04:51

关于永久存储指针的问题

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个字符吗?

FishC 发表于 2024-11-25 23:05:13

`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]
查看完整版本: 关于永久存储指针的问题