在名称更改的文件夹中使用具有给定名称的Python打开文件

时间:2015-01-22 13:16:30

标签: python python-2.7 os.walk

我正在使用Python 2.7.8

我想在像这样的文件夹/文件结构中打开一个名为'data.html'的文件

'C:\SVN\DIR1\DIR2\DIR3\{54F35-586-4AC-895B-52B5CB5}\data.html'

我的问题是文件夹:

\{54F35-586-4AC-895B-52B5CB5}

正在更改我的python脚本执行之间的名称。其余的文件/文件夹结构是静态的。

目前我的python脚本如下所示:

linkToHtmlReport = 'C:\SVN\DIR1\DIR2\DIR3\{54F35-586-4AC-895B-52B5CB5}\data.html'
soup = BeautifulSoup(open(linkToHtmlReport))

我的问题是当文件夹“{54F35-586-4AC-895B-52B5CB5}”在脚本运行之间更改名称时如何打开文件data.html?我可以使用os.walk吗?

帮助你!

1 个答案:

答案 0 :(得分:0)

我会将glob用于glob!

import glob
path = glob.glob("C:\SVN\DIR1\DIR2\DIR3\*\data.html")[0]

我总是在linux上使用它...但是也应该在windows上运行。 glob.glob会返回与该查询匹配的路径列表。如果您确定始终只有其中一个,则可以访问位置0。

无论如何,如果检查列表是否为空,最好如下:

import glob
pathList = glob.glob("C:\SVN\DIR1\DIR2\DIR3\*\data.html")
if pathList:
    path = pathList[0]