Python:对于不存在的文件,使用open(filename,';w';) 出身背景

Python:对于不存在的文件,使用open(filename,';w';) 出身背景,python,file,text,file-io,fopen,Python,File,Text,File Io,Fopen,我正在尝试编写一个脚本,用我制作的模板创建一个新的LaTeX文件,并 在使用以下代码时,我遇到了一些困难: with open(filename + '.tex', 'w'): # Do stuff to filename.tex ... 将上述内容视为选项A 在这里,filename.tex,filename是一个变量,(可能)在用户执行脚本的目录中不存在。在选项A中不会创建文件 通过带有open(…)语句的。我显然需要在此上下文中创建filename.tex 还有另一种打开

我正在尝试编写一个脚本,用我制作的模板创建一个新的LaTeX文件,并 在使用以下代码时,我遇到了一些困难:

with open(filename + '.tex', 'w'):
    # Do stuff to filename.tex
    ...
将上述内容视为选项A

在这里,
filename.tex
filename
是一个变量,(可能)在用户执行脚本的目录中不存在。在选项A中不会创建文件 通过带有open(…)语句的
。我显然需要在此上下文中创建
filename.tex

还有另一种打开文件的方法,它被视为选项B:

f = open(filename.tex, 'w+')
在上面的语句中,如果文件不存在,则创建该文件

因此,我的问题是:
如果我想写作,我应该使用以下哪些选项 清晰、编写良好的代码,遵循共享视图 Python社区的成员?(蟒蛇)

如果选项A
如果文件不可用,我希望您指导如何触摸该文件
已经存在的链接将非常棒。(或包含在答案中)

同时使用
w
打开,
w+
模式创建一个文件,除非它存在。(截断文件(如果存在)

w
w+
之间的区别是:

  • w
    :仅写
  • w+
    :读+写

同时使用
w
打开,
w+
模式创建一个文件,除非它存在。(截断文件(如果存在)

w
w+
之间的区别是:

  • w
    :仅写
  • w+
    :读+写

“在选项A中,文件不是由
with open(…)
语句创建的。”奇怪的是,它是在我的机器上创建的。@凯文,这的确是最奇怪的。我将尝试重新启动@Kevin现在可以工作了,突然(重启后)。“在选项a中,文件不是由
with open(…)
语句创建的。”奇怪的是,它是在我的机器上创建的。@Kevin这确实是最奇怪的。我将尝试重新启动@Kevin现在它突然工作了(在重新启动之后)。此外,如果您真的想测试存在性,请在没有模式参数的情况下调用函数,如果文件不存在,它将失败。我不知道有什么Pythonic的约定,但这是测试文件存在性的推荐方法。除此之外,如果您真的想测试存在性,请在没有模式参数的情况下调用该函数,如果文件不存在,该函数将失败。我不知道有什么Pythonic的约定,但这是测试文件存在性的推荐方法。