【发布时间】:2011-05-05 09:52:57
【问题描述】:
有没有简单的方法来检查路径是否有效?该文件现在不必存在,我想知道它是否存在。
我现在的版本是这样的:
try:
f = open(path)
except:
<path invalid>
我正在考虑简单地检查路径是否包含任何these 字符。
【问题讨论】:
标签: python
有没有简单的方法来检查路径是否有效?该文件现在不必存在,我想知道它是否存在。
我现在的版本是这样的:
try:
f = open(path)
except:
<path invalid>
我正在考虑简单地检查路径是否包含任何these 字符。
【问题讨论】:
标签: python
您也可以尝试以下方法:
import os
if not os.path.exists(file_path):
print "Path of the file is Invalid"
【讨论】:
先尝试是最好的方法,我建议这样做。
try:
open(filename, 'w')
except OSError:
# handle error here
我相信你会得到 OSError,明确地捕获它,并在你使用它的平台上进行测试。
【讨论】:
IOError: [Errno 22] invalid mode ('w') or filename: ...
filename 确实不 存在,则此解决方案会静默地将其创建为 0 字节文件。 (这可能很糟糕。)如果filename 是现有文件,则此解决方案会静默地将其截断为 0 字节文件。 (那肯定很糟糕。)如果filename 是现有目录,则此解决方案会引发一个异常,该异常需要与上面bernie 描述的所需[Errno 22] IOError 异常区分开来。 (这至少很烦人。)简而言之,你可能不想想试试这个。
从python 3.4开始,要检查路径是否有效,您还可以使用pathlib模块来执行此操作:
from pathlib import Path
try:
Path(file_path).resolve()
exist = True
except (OSError, RuntimeError):
exist = False
【讨论】: