如何检查是否存在文件,而不使用试用声明?
当前回答
這是最簡單的方式來檢查是否存在檔案. 只是因為檔案在您檢查時存在並不保證它會在您需要開啟時存在。
import os
fname = "foo.txt"
if os.path.isfile(fname):
print("file does exist at this time")
else:
print("no such file exists at this time")
其他回答
这里是一个单线的Python命令为Linux命令线环境,我觉得这是非常有用的,因为我不是那么热的Bash男孩。
python -c "import os.path; print os.path.isfile('/path_to/file.xxx')"
它似乎没有一个有意义的功能区别在尝试/排除和isfile(),所以你应该使用哪一个有意义。
如果你想阅读一个文件,如果它存在,
try:
f = open(filepath)
except IOError:
print 'Oh dear.'
但是,如果你只是想重新命名一个文件,如果它存在,因此不需要打开它,
if os.path.isfile(filepath):
os.rename(filepath, filepath + '.old')
如果你想写到文件,如果它不存在,
# Python 2
if not os.path.isfile(filepath):
f = open(filepath, 'w')
# Python 3: x opens for exclusive creation, failing if the file already exists
try:
f = open(filepath, 'wx')
except IOError:
print 'file already exists'
如果你需要文件锁,那是另一个问题。
此外, os.access():
if os.access("myfile", os.R_OK):
with open("myfile") as fp:
return fp.read()
是 R_OK, W_OK, 和 X_OK 旗帜测试许可证(doc)。
使用:
import os
#Your path here e.g. "C:\Program Files\text.txt"
#For access purposes: "C:\\Program Files\\text.txt"
if os.path.exists("C:\..."):
print "File found!"
else:
print "File not found!"
进口 OS 使您更容易与您的操作系统一起导航和执行标准操作。
请参见《如何检查没有例外的文件是否存在》。
如果您需要高级操作,请使用Shutil。
查看文件或目录存在
你可以遵循这三种方式:
使用 isfile( )
注意1: os.path.isfile 仅用于文件
import os.path
os.path.isfile(filename) # True if file exists
os.path.isfile(dirname) # False if directory exists
二、使用存在
注意2: os.path.exists 用于文件和目录
import os.path
os.path.exists(filename) # True if file exists
os.path.exists(dirname) # True if directory exists
pathlib.Path 方法(包含在 Python 3+ 中,可与 Python 2 的 pip 安装)
from pathlib import Path
Path(filename).exists()
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if
- 如何在Python中获得所有直接子目录