检查文件目录是否存在的最优雅方法是什么,如果不存在,使用Python创建目录?这是我尝试过的:
import os
file_path = "/my/directory/filename.txt"
directory = os.path.dirname(file_path)
try:
os.stat(directory)
except:
os.mkdir(directory)
f = file(filename)
Run Code Online (Sandbox Code Playgroud)
不知何故,我错过了os.path.exists(感谢kanja,Blair和Douglas).这就是我现在拥有的:
def ensure_dir(file_path):
directory = os.path.dirname(file_path)
if not os.path.exists(directory):
os.makedirs(directory)
Run Code Online (Sandbox Code Playgroud)
是否有"开放"的标志,这会自动发生?
我应该测试if某些东西是有效的还是只是try为了捕获异常?
例如,我应该:
if len(my_list) >= 4:
x = my_list[3]
else:
x = 'NO_ABC'
Run Code Online (Sandbox Code Playgroud)
要么:
try:
x = my_list[3]
except IndexError:
x = 'NO_ABC'
Run Code Online (Sandbox Code Playgroud)
一些想法......
PEP 20说:
错误不应该默默地传递.
除非明确沉默.
应该使用a try而不是if被解释为默认传递的错误?如果是这样,你是否通过这种方式使用它来明确地对它进行静音,从而使它成为可能?
我不是指的情况下,你只能做的事情1路; 例如:
try:
import foo
except ImportError:
import baz
Run Code Online (Sandbox Code Playgroud)