在Python中,如何打开文件进行写入,但如果文件不存在则不创建文件?

In Python, how to open a file for writing, but do not create it if the file does not exist?

本问题已经有最佳答案,请猛点这里访问。

文件是/dev下的设备。我不想把事情搞砸,所以如果文件不存在,我就不应该创建它。如何在python中处理这个问题?

我希望这个问题能用open方法解决。也就是说,当文件不存在时,它应该抛出一个类似ioerror的模式"r"。不要将问题重定向到"检查文件是否存在"。


有两种方法可以做到这一点。要么

1
2
3
from os.path import exists
if exists(my_file_path):
    my_file = open(my_file_path, 'w+')

如果需要根据现有文件触发事件,这是最好的方法。

否则,只需执行EDOCX1[0]


1
2
3
4
5
import os

if os.path.exists(dev):
    fd = os.open(dev, os.O_WRONLY) # or open(dev, 'wb+')
    ...

还要检查如何在Python中对Linux设备文件执行低级I/O?


下面是一个简单的python脚本,它显示目录中的文件、文件所在的位置以及真实文件是否存在。

1
2
3
4
5
6
7
8
9
10
import os

def get_file_existency(filename, directory):
 path = os.path.join(directory, filename)
 realpath = os.path.realpath(path)
 exists = os.path.exists(path)
 if exists:
   file = open(realpath, 'w')
 else:
   file = open(realpath, 'r')