python - 断言 os.path.isfile 仅适用于完整路径
问题描述
我接到了一项教育任务,在此期间我使用 Python 3.6、Splinter 和 Behave 编写 Gherkin 场景来测试网站。我正在取得一些不错的进展,但我被困在这件小事上。目前,我已成功通过 Ubuntu 中的无头 Chrome 实例下载文件。但是,为了通过场景的最后一步,我需要验证文件是否存在。经过大量搜索,我找到了一种有效的方法,即:
assert os.path.isfile('/home/[USERNAME]/Downloads/file.csv')
但是,为了使此测试与其他计算机更兼容,我希望文件的路径更短更简单。最重要的是,不使用该系统的用户名。
我对这一切都很陌生,所以这很可能是一个愚蠢的问题,但我一直在到处寻找,我根本找不到答案。
解决方案
~
您可以使用which replaces重写路径/home/[USERNAME]/
,因此它将变为~/Downloads/file.csv
. os.path.expanduser()
然后,您可以按如下方式使用 Python 的函数:
assert os.path.isfile(os.path.expanduser('~/Downloads/file.csv'))
os.path.expanderuser()
会自动/home/[USERNAME]/
为您展开。
推荐阅读
- dart - 如何在built_value EnumClass 中定义字段?
- python - 遍历一系列 GenBank 基因并将每个基因的特征附加到列表中仅返回最后一个基因
- django - 角度重定向到同一主机上的后端应用程序
- sql-server - 修改现有小数位信息
- python - 使用 numpy loadtxt 将 CSV 文件导入 Google Colab
- laravel - 如何获取父母孩子的孩子的数据?Laravel 雄辩
- windows - 在 Windows 中使用 ZeroMQ 的 Erlang
- google-cast - 如何在 CAF Sender 上确定正在播放广告插播时间?
- python - 在python中附加分数的麻烦
- sql - 如何对低于指定值的计数结果求和?