如果文件不存在则创建一个文件。

15 浏览
0 Comments

如果文件不存在则创建一个文件。

我试图打开一个文件,如果文件不存在,我需要创建它并打开以进行写入。我目前有:

#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日
0
0 Comments

您可以通过以下方式实现所需的行为

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
"""

0
0 Comments

对于Linux用户。

如果您不需要原子性,可以使用os模块:

import os
if not os.path.exists('/tmp/test'):
    os.mknod('/tmp/test')

macOSWindows用户。

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

0