作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个搜索脚本来解析文件中的日志文件,但我陷入了一件特定的事情,我在其他地方找不到资源。
我需要以某种方式将此字符串的“id1”替换为“anything”。简而言之,我希望脚本能够获取路径中特定位置的任何内容。这是否只能通过使用 logZip 作为一个巨大的正则表达式来实现?
logZip = ("c:/logs/" + str(id1) + "/" + str(id2) + "/" + str(id1) + "_log_" + str(dateID) + "_" + str(hourID) + "-00_" + str(id2) + ".zip")
根据要求,我添加了我想要定义的示例路径和文件:
c:/logs/aaa1/sss2/aaa1_log_2013-01-14-13-00_sss2.zip
c:/logs/aaa2/sss2/aaa2_log_2013-01-14-13-00_sss2.zip
c:/logs/aaa3/sss2/aaa3_log_2013-01-14-13-00_sss2.zip
下一步将使用 sss2 部分制作相同的东西。
最佳答案
import glob
import os
id1 = '*'
logZip = glob.glob(os.path.join("c:/logs", id1, id2, '{}_log_{}_{}-00_{}.zip'.format(id1, dateID, hourID, id2)))
返回文件的完整路径列表,其中 id1
被通配符 *
替换。
os.path.join
使路径构建更加清晰。
如果 logZip
必须是单个文件,您可以使用 glob.iglob
,它返回一个迭代器:
id1 = '*'
mask = os.path.join("c:/logs", id1, id2, '{}_log_{}_{}-00_{}.zip'.format(id1, dateID, hourID, id2))
for logZip in glob.iglob(mask):
# logZip is a single file
关于Python,如何用一级路径替换 "anything"或 "*",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14314728/
我是一名优秀的程序员,十分优秀!