Python函数在用户输入之前运行截断

时间:2018-03-22 02:53:41

标签: python

我正在学习python并尝试在用户输入后删除生活中的内容。由于某种原因,它会在请求用户输入之前删除.txt的内容。似乎无法解决这个问题。

from sys import argv
import sys

script, filename = argv   

 def erase_contents(f):
        user_input = input("> ")
        if user_input == "yes":
            current_file.truncate()
            print("successfully deleted")
        else:
            sys.exit()
current_file = open(filename, "w+")

print(f"Now we are going to erase the contents of {filename}. type yes to delete.")
erase_contents(current_file)

1 个答案:

答案 0 :(得分:0)

您不需要使用truncate,因为您使用w+作为模式打开文件,该文件会立即截断文件 。您可以使用模式a,但实际上,在确定用户想要截断文件之前,无需打开文件。你可以写

def erase_contents(fname):
    user_input = input("> ")
    if user_input == "yes":
        with open(fname, "w"):
            pass
    else:
        sys.exit()

print(f"Now we are going to erase the contents of {filename}. type yes to delete.")
erase_contents(filename)