Python 截断功能未按预期工作
Python truncate function isnt working as expected
我对 python 中的截断函数有点困惑。截断函数不应该清空文件并只显示第二行输入吗?但是在我的文件中,程序结束后第一行和第二行都在文件中。
文件中的预期输出
Line2 input
文件中的当前输出
Line1 input Line2 input
如果我使用 .truncate(0)
,这就是我在文件中得到的内容
from sys import argv
script, filename = argv
print(f"Erasing the file {filename}")
print("Opening the file...")
# This empties and overrides the file when opening in w mode use 'a' to append to file
target = open(filename, 'w')
line = input("Input a line")
target.write(line)
print("Truncating ie erasing the file...")
target.truncate()
line2 = input("Input another line")
target.write(line2)
target.close()
请帮忙
参见the docs,强调我的:
Resize the stream to the given size in bytes (or the current position if size is not specified). The current stream position isn’t changed.
您需要调用 .truncate(0)
将文件截断为零字节。
我对 python 中的截断函数有点困惑。截断函数不应该清空文件并只显示第二行输入吗?但是在我的文件中,程序结束后第一行和第二行都在文件中。
文件中的预期输出
Line2 input
文件中的当前输出
Line1 input Line2 input
如果我使用 .truncate(0)
,这就是我在文件中得到的内容from sys import argv
script, filename = argv
print(f"Erasing the file {filename}")
print("Opening the file...")
# This empties and overrides the file when opening in w mode use 'a' to append to file
target = open(filename, 'w')
line = input("Input a line")
target.write(line)
print("Truncating ie erasing the file...")
target.truncate()
line2 = input("Input another line")
target.write(line2)
target.close()
请帮忙
参见the docs,强调我的:
Resize the stream to the given size in bytes (or the current position if size is not specified). The current stream position isn’t changed.
您需要调用 .truncate(0)
将文件截断为零字节。