我正在学习一些Python,我有一个我无法解决的问题。 但首先我会说出我想要的东西:
嗯,我已经完成的第二步和第三步,因为它们几乎是一样的。我的问题是第一步。现在我的软件创建了一个新的配置文件,如果不存在,但如果该文件已存在(使用配置),我的应用程序将覆盖此“旧”文件并生成我的“模板配置”。
我想知道如何将其修复到我的软件中如果已存在,请勿覆盖该文件。
def generate_config_file(self, list):
config = ConfigParser()
for index, item in enumerate(list):
config.add_section(str(index))
config.set(str(index), 'id', 'idtest')
config.set(str(index), 'name', 'nametest')
# Creating the folder
myFolder = "/etc/elementary/"
if not os.path.exists(myFolder):
os.makedirs(myFolder)
# Creating the file
filePath = "/etc/elementary/settings.cfg"
with open(filePath, 'wb') as configfile:
config.write(configfile)
return
我可以做些什么来解决我的问题?
答案 0 :(得分:1)
您只是检查文件夹是否存在。您还需要检查文件本身是否存在,并且只有在文件不存在时才创建它。
filePath = "/etc/elementary/settings.cfg"
if not os.path.exists(filePath):
with open(filePath, 'wb') as configfile:
config.write(configfile)
或者,在您首先调用函数之前,使用os.path.exists
检查文件是否存在。
答案 1 :(得分:1)
您只需在调用函数之前检查文件是否存在:
if not os.path.exists("/etc/elementary/settings.cfg"):
obj.generate_config_file(...)
或将其添加到您的函数顶部:
def generate_config_file(self, list):
if os.path.exists("/etc/elementary/settings.cfg"):
return
...