如何使用 python 将 url 中的现有日期更改为当前日期

How to change existing date to current date in a url using python

我写了下面的代码来用 URL 中的现有日期替换今天的日期,但是输出有三次打印今天的日期,但我只想要一个。

import re
today = (date.today().strftime("%d_%m_%Y"))
print(today)
url = 'https://demo/ApiInstruments_FNO_06_08_2021.txt'
new=re.sub(r'\d+',today,url)
print(new)

输出为:https:///demo/ApiInstruments_FNO_08_08_2021_08_08_2021_08_08_2021.txt

您的正则表达式匹配任何非零数字,因此它在您的示例中匹配三个不同的时间:06 日、08 日和 2021 年,并将这些数字中的每一个替换为您计算的日期。

通过使正则表达式与 URL 中的完整日期相匹配来解决此问题,例如通过匹配下划线分隔的三个数字:

new=re.sub(r'\d+_\d+_\d+',today,url)

但是你需要确保它只匹配日期(即没有其他情况下三个下划线分隔的数字可以在 URL 中),或者找到另一个与日期正确匹配的模式 - - 只有日期。