我需要将内容写入文件(截断),但是文件路径本身可能不存在。例如,我想要将内容写入/tmp/a/b/c/config
,但是/tmp/a
本身可能不存在。因此,open('/tmp/a/b/c/config', 'w')
显然无法工作,因为它不会创建必要的目录。然而,我可以使用下面的代码:
import os
config_value = 'Foo=Bar' # Temporary placeholder
config_dir = '/tmp/a/b/c' # Temporary placeholder
config_file_path = os.path.join(config_dir, 'config')
if not os.path.exists(config_dir):
os.makedirs(config_dir)
with open(config_file_path, 'w') as f:
f.write(config_value)
有没有更Pythonic的方法来做这件事?最好能知道Python 2.x和Python 3.x两种版本的方法(即使我在我的代码中使用2.x,由于依赖原因)。