代码功能很简单,如下所示
-
从名为
nameURL.txt的文件中读取以英文逗号分隔的每一行,每行包含文件名和对应的链接。 -
从名为
remote_filename.txt的文件中读取已下载的文件名列表。 -
遍历
nameURL.txt中的每一行,检查文件名是否在已下载文件列表中。 -
如果文件名不在已下载文件列表中,则将该文件名和对应的链接写入名为
undownload_mp3.txt的文件。
# 读取 nameURL.txt 中的文件名和链接
with open('nameURL.txt', 'r', encoding='utf-8') as file:
name_url_lines = file.readlines()
# 读取 remote_filename.txt 中已下载的文件名(去除后缀)
with open('remote_filename.txt', 'r', encoding='utf-8') as file:
downloaded_files = [line.strip('.mp3') for line in file.read().splitlines()]
# 遍历每一行,检查文件名是否在已下载文件列表中,如果不在则写入 undownload_mp3.txt
with open('undownload_mp3.txt', 'w', encoding='utf-8') as file:
for line in name_url_lines:
filename, url = line.split(',')
if filename not in downloaded_files:
file.write(f'{filename.strip()},{url.strip()}\n')
print('未下载的文件名和链接已写入 undownload_mp3.txt 文件。')
测试遇到的问题,undownload_mp3.txt中竟然存在少量remote_filename.txt中的存储的已下载的文件名,例如 第一行数据中的文件名The-Joshua-Generation-grows-up
实在找不到问题出在哪里,特来请教大家,谢谢
nameURL.txt链接: https://github.com/deyunwanxin/rawData/blob/main/nameURL.txt
remote_filename.txt链接: https://github.com/deyunwanxin/rawData/blob/main/remote_filename.txt
undownload_mp3.txt链接: https://github.com/deyunwanxin/rawData/blob/main/undownload_mp3.txt