Python 打开目录时创建异常

Python 打开目录时创建异常,python,exception-handling,Python,Exception Handling,打开目录时遇到问题。我在所有目录上循环,然后走进: for i in var1: for j in var2: if i == j: continue sdir = i+'_'+j os.chdir("/home/Documents/test"+sdir) 只要有一个符合名称sdir的目录,一切正常。当它不存在时,将抛出以下错误: OSError:[Errn

打开目录时遇到问题。我在所有目录上循环,然后走进:

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\u b

但是我有一个名为
b_a
的目录。因此,我想在我的代码中交换
I
j
。我的意思是如果没有
a_b
目录->交换
a
b
->进入
b_a
目录


如何使用
os.chdir(“/home/Documents/test/”+sdir)

首先,我建议使用创建文件夹结构:

import os

base = os.path.join('/home', 'Documents', 'test')
然后就是它:


把它放在试块里。并在除块外的其他位置进行交换。在EXPECT block中使用另一个try EXPECT block来处理失败的情况。@monica请使用PEP8格式化代码
import os

base = os.path.join('/home', 'Documents', 'test')
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)