检查 python 的文件夹
check for a folder with python
if os.chdir(path+"micro")==True:
os.chdir(path+"micro")
else:
os.mkdir(path+"micro")
os.chdir(path+"micro")
当我使用这个方法时,它给我一个错误,并说文件存在,为什么我不能访问那个文件
我认为你想做的是:
dir = os.path.join(path, "micro")
if not os.path.isdir(dir):
os.mkdir(dir)
os.chdir(dir)
os.chdir(path+"micro")
如果路径不存在,这不会 return false。它反而给出了一个错误。另外写 path + "mirco"
也不是一个好习惯。标准方法是使用 os.path.join(path, "micro")
,因为它根据 os 上的 os 处理选择“/”或“\”。
所以这些是您可以尝试的一些替代方案。
选项1:
dir = os.path.join(path, "micro")
if not os.path.exists(dir):
os.mkdir(dir)
os.chdir(dir)
选择2:
dir = os.path.join(path, "micro")
try:
os.chdir(dir)
except:
os.mkdir(dir)
os.chdir(dir)
如果我正确理解你的问题,此代码适合你:
if os.path.exists(path+"micro"):
os.chdir(path+"micro")
else:
os.mkdir(path+"micro")
os.chdir(path+"micro")
您的代码不正确,因为正如您从文档中看到的那样 os.chdir 没有 return 任何值,而是用于将当前工作目录更改为给定路径。 Returns None 在所有情况下。由于这个原因,您的代码出错了。
相反,您需要 os.path.exists 方法,如果路径引用现有路径,则 return 为真。 Returns 损坏的符号链接为 False。在某些平台上,如果未授予在请求的文件上执行 os.stat() 的权限,则此函数可能 return False,即使路径实际存在。
if os.chdir(path+"micro")==True:
os.chdir(path+"micro")
else:
os.mkdir(path+"micro")
os.chdir(path+"micro")
当我使用这个方法时,它给我一个错误,并说文件存在,为什么我不能访问那个文件
我认为你想做的是:
dir = os.path.join(path, "micro")
if not os.path.isdir(dir):
os.mkdir(dir)
os.chdir(dir)
os.chdir(path+"micro")
如果路径不存在,这不会 return false。它反而给出了一个错误。另外写 path + "mirco"
也不是一个好习惯。标准方法是使用 os.path.join(path, "micro")
,因为它根据 os 上的 os 处理选择“/”或“\”。
所以这些是您可以尝试的一些替代方案。
选项1:
dir = os.path.join(path, "micro")
if not os.path.exists(dir):
os.mkdir(dir)
os.chdir(dir)
选择2:
dir = os.path.join(path, "micro")
try:
os.chdir(dir)
except:
os.mkdir(dir)
os.chdir(dir)
如果我正确理解你的问题,此代码适合你:
if os.path.exists(path+"micro"):
os.chdir(path+"micro")
else:
os.mkdir(path+"micro")
os.chdir(path+"micro")
您的代码不正确,因为正如您从文档中看到的那样 os.chdir 没有 return 任何值,而是用于将当前工作目录更改为给定路径。 Returns None 在所有情况下。由于这个原因,您的代码出错了。
相反,您需要 os.path.exists 方法,如果路径引用现有路径,则 return 为真。 Returns 损坏的符号链接为 False。在某些平台上,如果未授予在请求的文件上执行 os.stat() 的权限,则此函数可能 return False,即使路径实际存在。