打开目录时遇到问题。我遍历所有目录,然后走进去:
for i in var1:
for j in var2:
if i == j: continue
sdir = i+'_'+j
os.chdir("/home/Documents/test"+sdir)
只要根据名称sdir
存在目录,一切正常。如果它不存在,则抛出以下错误:
OSError:[Errno 2]没有这样的文件或目录:/ home / Documents / test / a_b
但是我有一个名为b_a
的目录。因此,我想在代码中交换i
和j
。我的意思是如果没有a_b
目录 - >交换a
和b
- >进入b_a
目录。
如何使用os.chdir("/home/Documents/test/"+sdir)
执行例外处理?
答案 0 :(得分:1)
首先,我建议使用os.path.join
来创建文件夹结构:
import os
base = os.path.join('/home', 'Documents', 'test')
然后只是try
:
try:
os.chdir(os.path.join(base, i+'_'+j))
except OSError:
try:
os.chdir(os.path.join(base, j+'_'+i))
except OSError:
print('total fail', i, j)
答案 1 :(得分:0)
try:
os.chdir("/home/Documents/test"+sdir)
except OSError:
#your desired behaviour when the try block fails