youtube-dl 的子进程命令中出现类型错误
TypeError in subprocess command for youtube-dl
我正在尝试编写一个非常简单的脚本,它传入一个 .csv 文件和文件中每个 link 的 运行s youtube-dl(和指定的参数)-将文件保存到某个目录。
csv 格式为艺术家;标题;Link。和脚本:
import pandas as pd
import subprocess
def get_music(csv):
df = pd.read_csv(csv, sep=";", skipinitialspace=True)
for _, row in df.iterrows():
subprocess.call(['youtube-dl', "x",
"--output ~/mydir/%(title)s.%(ext)s",
"--extract-audio", "--youtube-skip-dash-manifest",
"--prefer-ffmpeg", "--audio-format", "mp3"], row.Link)
get_music("CSV.csv")
当我 运行 但是,我收到以下错误:
"raise TypeError("bufsize 必须是整数")
TypeError: bufsize 必须是一个整数"
恐怕我不明白 bufsize 是如何传递整数以外的东西的。简而言之,我做错了什么,我应该如何解决?
目前,您指定 bufsize 的 subprocess.call
的第二个参数是 row.Link
,这似乎是您要下载的 URL。传入实际的 link,而不是 "x"
。此外,没有选项 "--output ~/mydir/%(title)s.%(ext)s"
,因为选项名称不包含空格。很可能,你想要
subprocess.call(['youtube-dl', row.Link,
"--output", "~/mydir/%(title)s.%(ext)s",
"--extract-audio", "--youtube-skip-dash-manifest",
"--prefer-ffmpeg", "--audio-format", "mp3"])
我正在尝试编写一个非常简单的脚本,它传入一个 .csv 文件和文件中每个 link 的 运行s youtube-dl(和指定的参数)-将文件保存到某个目录。
csv 格式为艺术家;标题;Link。和脚本:
import pandas as pd
import subprocess
def get_music(csv):
df = pd.read_csv(csv, sep=";", skipinitialspace=True)
for _, row in df.iterrows():
subprocess.call(['youtube-dl', "x",
"--output ~/mydir/%(title)s.%(ext)s",
"--extract-audio", "--youtube-skip-dash-manifest",
"--prefer-ffmpeg", "--audio-format", "mp3"], row.Link)
get_music("CSV.csv")
当我 运行 但是,我收到以下错误:
"raise TypeError("bufsize 必须是整数") TypeError: bufsize 必须是一个整数"
恐怕我不明白 bufsize 是如何传递整数以外的东西的。简而言之,我做错了什么,我应该如何解决?
目前,您指定 bufsize 的 subprocess.call
的第二个参数是 row.Link
,这似乎是您要下载的 URL。传入实际的 link,而不是 "x"
。此外,没有选项 "--output ~/mydir/%(title)s.%(ext)s"
,因为选项名称不包含空格。很可能,你想要
subprocess.call(['youtube-dl', row.Link,
"--output", "~/mydir/%(title)s.%(ext)s",
"--extract-audio", "--youtube-skip-dash-manifest",
"--prefer-ffmpeg", "--audio-format", "mp3"])