如何向用户询问文件名是否已存在,请询问用户是否要覆盖文件名,并遵守他们的请求。如果该文件不存在,则应创建一个新文件(具有所选名称)。 通过对Python网站和Stack Overflow的一些研究,我得出了这个代码
try:
with open(input("Please enter a suitable file name")) as file:
print("This filename already exists")
except IOError:
my_file = open("output.txt", "r+")
但是这不会在Python中运行,并且不能完成我想要它做的所有事情。
答案 0 :(得分:1)
您可以使用os.path.exists
检查文件是否已存在。
if os.path.exists(file path):
q = input("Do you want to overwrite the existing file? ")
if q == (your accepted answer):
#stuff
else:
#stuff
如果您想遵守“更容易请求宽恕”的座右铭,您可以尝试/除外,但我认为这更清晰。
答案 1 :(得分:1)
替代解决方案(但用户需要提供完整路径):
import os
def func():
if os.path.exists(input("Enter name: ")):
if input("File already exists. Overwrite it? (y/n) ")[0] == 'y':
my_file = open("filename.txt", 'w+')
else:
func()
else:
my_file = open("filename.txt", 'w+')
请勿忘记my_file.close()
不再需要关闭文件对象。