如果文件不存在则创建一个文件。
如果文件不存在则创建一个文件。
我试图打开一个文件,如果文件不存在,我需要创建它并打开以进行写入。我目前有:
#open file for reading fn = input("Enter file to open: ") fh = open(fn,'r') # if file does not exist, create it if (!fh) fh = open ( fh, "w")
错误消息说在行if (!fh)
有问题。我可以像在Perl中使用exist
吗?
admin 更改状态以发布 2023年5月20日
您可以通过以下方式实现所需的行为
file_name = 'my_file.txt' f = open(file_name, 'a+') # open file in append mode f.write('python rules') f.close()
以下是在open()
中的第二个参数mode
的一些有效选项:
""" w write mode r read mode a append mode w+ create file if it doesn't exist and open it in (over)write mode [it overwrites the file if it already exists] r+ open an existing file in read+write mode a+ create file if it doesn't exist and open it in append mode """
对于Linux用户。
如果您不需要原子性,可以使用os模块:
import os if not os.path.exists('/tmp/test'): os.mknod('/tmp/test')
macOS和Windows用户。
在macOS上,想要使用os.mknod()
方法,您需要root权限。
在Windows上,没有os.mknod()
方法。
所以作为替代方案,您可以使用open()
代替os.mknod()
import os if not os.path.exists('/tmp/test'): with open('/tmp/test', 'w'): pass