gpt4 book ai didi

python - 在 python 中使用 `try` `except` 在不同目录上重复完全相同的代码

转载 作者:行者123 更新时间:2023-12-01 07:26:33 25 4
gpt4 key购买 nike

我正在编写一个 python 脚本,它将来自不同文件的信息解析为 pandas 数据帧。首先,我针对某个目录,然后调用命令来解析多个文件中的信息。但是,如果该目录不存在,我应该执行完全相同的代码,尽管在另一个目录中。为了说明这一点,它应该是这样的:

import os
try:
cwd = "/path/do/dir"
os.chdir(cwd)
#do a code block here

except FileNotFoundError: # i.e. in case /path/to/dir does not exist
cwd = /path/to/anotherDir
os.chdir(cwd)
# do the same code block

我目前正在做的是在 try except block 中重复相同的代码块,尽管我想知道是否有更优雅的方法这样做,就像将整个代码块分配给一个变量或函数,然后在 except block 中调用这个变量/函数。

最佳答案

您可以简单地迭代路径列表,并为每个文件尝试您的代码块。如果您想在找到有效路径后立即停止迭代,您甚至可以在 try block 末尾添加一个 break

paths = ['path/to/dir', 'path/to/other/dir']

for cwd in paths:
try:
os.chdir(cwd)

# code that may fail here

break

except FileNotFoundError:
# This will NOT cause the code to fail; it's the same as `pass` but
# more informative
print("File not found:", cwd)

关于python - 在 python 中使用 `try` `except` 在不同目录上重复完全相同的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57415574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com