断言os.path.isfile仅适用于完整路径

时间:2018-11-08 10:42:05

标签: python splinter

我接受了一项教育任务,在此过程中,我编写了Gherkin方案以使用Python 3.6,Splinter和Behave测试网站。我取得了一些不错的进步,但我坚持这一小事情。目前,我已经成功通过Ubuntu中无头的Chrome实例下载了文件。但是,要通过该方案的最后一步,我需要验证文件的存在。经过大量搜索,我发现了一种有效的方法,即:

assert os.path.isfile('/home/[USERNAME]/Downloads/file.csv')

但是,为了使该测试与其他计算机更加兼容,我希望该文件的路径更短,更简单。最重要的是,不要使用该系统的用户名。

我对所有这些都是陌生的,所以这很可能是一个愚蠢的问题,但是我一直在各处搜索,而我根本找不到答案。

2 个答案:

答案 0 :(得分:0)

您可以使用~代替/home/[USERNAME]/重写路径,因此它将变为~/Downloads/file.csv。然后,您可以使用Python的os.path.expanduser()函数,如下所示:

assert os.path.isfile(os.path.expanduser('~/Downloads/file.csv'))

os.path.expanderuser()会自动为您将其扩展到/home/[USERNAME]/

答案 1 :(得分:0)

如果您需要获取Downloads文件夹路径,则可以使用以下问题的答案:python - Finding the user's "Downloads" folder