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

在更改名称的文件夹中使用给定名称的Python打开文件,python,python-2.7,os.walk,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

我正在使用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进行此操作吗


谢谢你的帮助

我会使用glob-to-glob

import glob
path = glob.glob("C:\SVN\DIR1\DIR2\DIR3\*\data.html")[0]
我总是在linux上使用它。。。但也应该适用于windows。 将返回与该查询匹配的路径列表。如果确定始终只有一个位置,则可以访问位置0

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

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

Thx,有效:)!但是您如何看待:if pahList:path=pathList[0]?如果我运行该代码,它只会给我路径==“C”,即使路径列表是OK的,也不确定我是否理解您的注释。。。是否删除了glob.glob指令末尾的[0]?如果没有,则路径列表[0]将包含字符串的第一个字符。。。如果删除它,则pathList将包含找到的所有路径的列表。。。因此[0]只是找到的第一条路径!啊,我想你已经删除了“[0]”:)!好的,谢谢你的帮助:)!