2010-11-05 74 views
7

有没有简单的方法来检查路径是否有效?该文件现在不必存在,我想知道它是否可以存在。检查Python中的路径是否有效

我目前的版本是这样的:

try: 
    f = open(path) 
except: 
    <path invalid> 

我考虑的只是检查路径是否包含任何的these字符。

+0

也许'os.​​path.isabs(路径)'? – helpermethod 2010-11-05 01:42:44

+2

可能的重复[检查路径在Python中是否有效,而不在路径的目标处创建文件](http://stackoverflow.com/questions/9532499/check-whether-a-path-is-valid-in-python -out-creating-a-file-at-the-path-ta) – 2015-12-05 03:46:45

回答

2

首先尝试是最好的方法,我建议这样做。

try: 
    open(filename, 'w') 
except OSError: 
    # handle error here 

我相信你会得到OSError,明确地捕捉到,并在你使用它的平台上进行测试。

+0

+1,仅供参考它是'IOError:[Errno 22]无效模式('w')或文件名:...' – bernie 2010-11-05 01:46:40

+3

**有问题答案**如果'filename'不存在,则此解决方案将以无提示方式将其创建为0字节的文件。 (_这可能是坏的._)如果'filename'是一个现有的文件,这个解决方案将自动截断为一个0字节的文件。 (_绝对是坏的。)如果'filename'是一个现有的目录,这个解决方案会产生一个异常,它需要与[bernie](https://描述的[Errno 22]'IOError'异常)上面是stackoverflow.com/users/42346/bernie)。 (_这至少很烦人._)总之,你可能不想尝试这个。 – 2015-12-05 03:40:37

0

您也可以尝试以下:

import os 
if not os.path.exists(file_path): 
    print "Path of the file is Invalid" 
+2

这只是报告文件是否存在。该问题具体询问路径是否有效*,而不是它是否存在。 – aquavitae 2014-01-06 09:53:16

+0

如果文件存在,那么它是一个有效的路径,它确实存在 – Vidz 2014-01-06 10:31:39

+2

http://en.wikipedia.org/wiki/Affirming_the_consequent – aquavitae 2014-01-06 12:40:46