How to find if directory exists in Python
在python中的
1 2 | >>> os.direxists(os.path.join(os.getcwd()), 'new_folder')) # in pseudocode True/False |
如果你不在乎是文件还是目录,你可以找
例子:
1 2 3 | import os print(os.path.isdir("/home/el")) print(os.path.exists("/home/el/myfile.txt")) |
那么近!如果以当前存在的目录的名称传递,则
是的,使用
python 3.4在标准库中引入了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | In [1]: from pathlib import Path In [2]: p = Path('/usr') In [3]: p.exists() Out[3]: True In [4]: p.is_dir() Out[4]: True In [5]: q = p / 'bin' / 'vim' In [6]: q.exists() Out[6]: True In [7]: q.is_dir() Out[7]: False |
pathlib也可以通过pypi上的pathlib2模块在python 2.7上使用。
我们可以检查两个内置功能
1 | os.path.isdir("directory") |
它将给布尔值true指定的目录可用。
1 | os.path.exists("directoryorfile") |
如果指定的目录或文件可用,它将给出boolead true。
检查路径是否为目录;
如果路径是目录,则将为布尔值true
是,使用os.path.isdir(path)
如:
1 2 | In [3]: os.path.exists('/d/temp') Out[3]: True |
可以肯定的是,可能会扔一个
只需提供
1 2 3 4 5 6 7 8 | import os, stat, errno def CheckIsDir(directory): try: return stat.S_ISDIR(os.stat(directory).st_mode) except OSError, e: if e.errno == errno.ENOENT: return False raise |
操作系统为您提供了许多这样的功能:
1 2 3 | import os os.path.isdir(dir_in) #True/False: check if this is a directory os.listdir(dir_in) #gets you a list of all files and directories under dir_in |
如果输入路径无效,listdir将引发异常。
1 2 3 4 5 | #You can also check it get help for you if not os.path.isdir('mydir'): print('new directry has been created') os.system('mkdir mydir') |