我想知道如何根据用户输入检查文件是否存在,如果没有,那么我想创建一个。
所以我会有类似的东西:
file_name = input('what is the file name? ')
然后我想查看文件名是否存在。
如果文件名确实存在,请打开要写入或读取的文件,如果文件名不存在,则根据用户输入创建文件。
我知道关于文件的基本知识,但不知道如何使用用户输入来检查或创建文件。
答案 0 :(得分:19)
您可以使用os模块:
像这样通过os.path.isfile():
import os.path
os.path.isfile(file_path)
或使用os.path.exists():
if os.path.exists(file_name): print("I get the file >hubaa")
如果文件不存在:(返回False)
if not os.path.exists(file_name):
print("The File s% it's not created "%file_name)
os.touch(file_name)
print("The file s% has been Created ..."%file_name)
您可以根据(尝试,除外)编写一个简单的代码:
try:
my_file = open(file_name)
except IOError:
os.touch(file_name)
答案 1 :(得分:1)
完全按照你的要求行事:
您将要查看os.path.isfile()
函数,然后查看open()
函数(将变量作为参数传递)。
然而,正如@LukasGraf所指出的,这通常被认为不太理想,因为如果您在检查文件是否存在以及何时创建文件时引入了race condition去打开它。
相反,通常首选的方法是尝试打开它,并捕获生成的异常,如果你不能:
try:
my_file = open(file_name)
except IOError:
# file couldn't be opened, perhaps you need to create it