检查Python中的路径是否有效

dut*_*utt 8 python

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

我目前的版本是这样的:

try:
  f = open(path)
except:
  <path invalid>
Run Code Online (Sandbox Code Playgroud)

我正在考虑简单地检查路径是否包含任何这些字符.

Vid*_*idz 5

您也可以尝试以下方法:

import os  
if not os.path.exists(file_path):
    print "Path of the file is Invalid"
Run Code Online (Sandbox Code Playgroud)

  • 这只是报告文件是否存在。该问题专门询问路径是否*有效*,而不是它是否存在。 (5认同)

Jer*_*rub 0

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

try:
    open(filename, 'w')
except OSError:
    # handle error here
Run Code Online (Sandbox Code Playgroud)

我相信您会收到 OSError,显式捕获它,并在您使用它的平台上进行测试。

  • **有问题的答案。** 如果 `filename` 不存在,此解决方案会默默地将其创建为 0 字节文件。(_这可能很糟糕。_)如果 `filename` 是一个现有文件,此解决方案会默默地将其截断为 0 字节文件。(_这绝对是糟糕的。_)如果 `filename` 是一个现有目录,则此解决方案会引发一个异常,该异常需要与 [bernie](https:// 描述的所需的 `[Errno 22]` `IOError` 异常区分开来stackoverflow.com/users/42346/bernie) 上面。(_这至少很烦人。_)简而言之,您可能_不想_尝试这个。 (21认同)