prac_filerw.txt文件中有如下链接信息:
https://www.bilibili.com/1/?p=99后面可能还有?内容
https://www.bilibili.com/1/?p=4 链接
https://www.bilibili.com/1/?p=50000还有?内容
写一个程序,做到如下功能:
让用户输入一个数字,比如用户输入3, 程序就可以修改该文件,把文件中所有的链接末尾数字都加上3
比如上面的示例就改为:
https://www.bilibili.com/1/?p=102后面可能还有?内容
https://www.bilibili.com/1/?p=7 链接
https://www.bilibili.com/1/?p=50003还有?内容
def revise_link(user_input):
file_content = ""
with open('prac_filerw.txt', 'r', encoding='utf8') as f:
for line in f: # 读取每一行line,数据类型为str
if '?p=' in line:
str1, str2 = line.split('?p=')
old_str = ''
for i in str2:
if not i.isdigit():
break # 只是跳出了这层for循环,并没有跳出整个line循环
old_str += i
new_str = str(int(old_str) + user_input)
# 替换时加上?p=,这样就避免了把同一行中其它数字也更改了。
line = line.replace(('?p='+old_str), '?p'+str(int(old_str) + user_input))
file_content += line
print(file_content)
with open('prac_filerw.txt', 'w', encoding='utf8') as f:
f.write(file_content)
user_input = int(input("请输入一个数字:"))
revise_link(user_input)