所以,我在做一个私人项目。我使用youtube dl制作了两个python脚本,分别下载了一首歌曲和一个缩略图。歌曲脚本将歌曲下载为带有自定义名称(由参数指定)的.mp3文件。缩略图的脚本下载带有自定义名称(由参数指定)的缩略图的.webp文件,然后将其转换为png和jpg。我将这两个函数放在不同的文件夹中,如下所示
yt2mp3 -- youtubeMP3.py
__main__.py
thumbnails.py -- __main__.py
downloadimg.py
完整的脚本可以在这个github repo上找到:https://github.com/ignition-ctrl/yt2mp3
代码并不漂亮,但它可以工作。然而,问题是这样的。我在.bashrc中有一个名为downloadmusic()的函数。它将包含两个参数,链接和自定义文件名,并使用这些参数运行python脚本youtubeMP3.py。youtubeMP3.py具有函数download_music(),在该函数中,它引用了downloadimg.py中的函数download_缩略图。我的问题是,从我的终端,我可以看到它运行下载缩略图两次。在启动脚本时下载一次,然后在运行下载_music()。我只希望它在下载音乐()后运行。该代码应仅在此代码中运行
determiner = input("Do you want to download the thumbnail?")
if determiner == "yes" or "y" or "Yes":
downloadimg.download_thumbnail(str(ytname), str(filename))
else:
exit(0)
这是对download_缩略图的唯一引用,但在我放入download_music()的打印语句之前,我可以看到download_缩略图()的终端输出。我还从download_thumbnail()获得了两份jpg文件副本。我一整天都在为这事挠头。如果有人能帮忙,我将不胜感激
导入模块时第一次调用
download_thumbnail()
。它试图逃跑您可以像这样将其封装在if语句中
因此,此块将仅在直接执行文件时运行,而不是在导入时运行
相关问题 更多 >
编程相关推荐