最近有人对我说“在 Python 中,最好稍后尝试请求宽恕,而不是乞求许可”,我觉得这很有趣,但也与我的问题相关
我正在创建一个名为 Ada 的个人助理,并且对性能非常迂腐。据我所知,使用 try 语句比检查然后执行更快。EG:(如果目录不存在,第二个会慢一些???)
import os
try:
os.makedirs("Test")
except FileExistsError:
pass
# VS
if not os.path.exists("Test"):
os.makedirs("Test")
Run Code Online (Sandbox Code Playgroud)
因此,在创建编码时,您需要权衡更有可能的情况。在我的示例中,文件更有可能不存在,因此我应该使用 try 块,它比 If-Else 产生更好的性能
我想知道尝试(双关语)这种默认 If-Else 方法是否有任何好处?
PS(这个问题不是Python if 与 try- except的重复,因为它没有指定比较代码块的概率try:)
如果有人感兴趣,我当前的代码:(在 AppData 中创建一个名为 Ada 的文件夹,其中包含 Config.ini 文件)
import os
AppDataDirectory = os.getenv("AppData")
AdaDirectory = AppDataDirectory + "\Ada"
ConfigFile = AdaDirectory + "\CONFIG.ini"
try:
File = open(ConfigFile, "r")
except FileNotFoundError:
try:
os.makedirs(AdaDirectory)
except FileExistsError:
print("Config File Missing")
# Setup Config …Run Code Online (Sandbox Code Playgroud)