Python assert os.path.isfile仅使用完整路径

Python assert os.path.isfile仅使用完整路径,python,splinter,Python,Splinter,我被分配了一项教育任务,在此期间,我编写了小黄瓜场景,用Python3.6、Splitter和Behave测试一个网站。我取得了一些不错的进步,但我被这件小事缠住了。目前,我已经成功地通过Ubuntu中的一个无头Chrome实例下载了一个文件。但是,为了通过场景的最后一步,我需要验证文件是否存在。经过大量搜索,我找到了一种有效的方法,即: assert os.path.isfile('/home/[USERNAME]/Downloads/file.csv') 但是,为了使此测试与其他计算机更兼

我被分配了一项教育任务,在此期间,我编写了小黄瓜场景,用Python3.6、Splitter和Behave测试一个网站。我取得了一些不错的进步,但我被这件小事缠住了。目前,我已经成功地通过Ubuntu中的一个无头Chrome实例下载了一个文件。但是,为了通过场景的最后一步,我需要验证文件是否存在。经过大量搜索,我找到了一种有效的方法,即:

assert os.path.isfile('/home/[USERNAME]/Downloads/file.csv')
但是,为了使此测试与其他计算机更兼容,我希望文件的路径更短、更简单。最重要的是,不要使用此系统的用户名


我对这一切都不熟悉,所以这很可能是一个愚蠢的问题,但我一直在到处搜索,根本找不到答案。

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

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

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

如果您需要获取下载文件夹路径,则可以使用以下问题的答案:

您是否尝试使用“os.path.realpath(file)”获取文件的真实路径?谢谢!我知道我已经非常接近尝试了多个os.path选项,但这一点我还没有做到。工作起来很有魅力。