在 python 中无法将用户输入传递给 wget
Fail to pass user input to wget in python
我想将用户输入传递给 wget 以下载网页内容。
User_input = raw_input "Type a URL Here.. "
os.system("wget -O /directory/, User_input")
上面的代码不起作用,因为 wget 不会接受用户输入,而是 wget "User_input"。有办法解决这个问题吗?
谢谢
你实际上并没有传递变量,也使用subprocess模块:
from subprocess import check_call
User_input = raw_input("Type a URL Here.. ")
check_call(["wget", "-O", "directory/foo.html", User_input])
在您的代码中,您需要实际传递变量:
os.system("wget -O /directory {}".format(User_input))
如果您的命令 returns 非零退出状态,您将使用 check_call
.
获得 CalledProcessError
保存文件的最简单方法是让用户选择名称并添加扩展名。您可以解析传递的 url,但可能的变体太多,无法始终如一地进行解析:
User_input = raw_input("Type a URL Here.. ")
save_as = raw_input("Enter name to save file as...")
check_call(["wget", "-O", "{}.html".format(save_as), User_input])
您是否至少尝试过学习一些 Python?您的代码有 很多 个问题。
raw_input "Something"
无效。您需要使用 raw_input("User input: ")
- 您正在使用
os
模块,但没有先导入它
- 您正在尝试将值错误地传递给
wget
,最好这样做 cmd="wget -O /directory/ "+User_input;os.system(cmd)
我想将用户输入传递给 wget 以下载网页内容。
User_input = raw_input "Type a URL Here.. "
os.system("wget -O /directory/, User_input")
上面的代码不起作用,因为 wget 不会接受用户输入,而是 wget "User_input"。有办法解决这个问题吗?
谢谢
你实际上并没有传递变量,也使用subprocess模块:
from subprocess import check_call
User_input = raw_input("Type a URL Here.. ")
check_call(["wget", "-O", "directory/foo.html", User_input])
在您的代码中,您需要实际传递变量:
os.system("wget -O /directory {}".format(User_input))
如果您的命令 returns 非零退出状态,您将使用 check_call
.
CalledProcessError
保存文件的最简单方法是让用户选择名称并添加扩展名。您可以解析传递的 url,但可能的变体太多,无法始终如一地进行解析:
User_input = raw_input("Type a URL Here.. ")
save_as = raw_input("Enter name to save file as...")
check_call(["wget", "-O", "{}.html".format(save_as), User_input])
您是否至少尝试过学习一些 Python?您的代码有 很多 个问题。
raw_input "Something"
无效。您需要使用raw_input("User input: ")
- 您正在使用
os
模块,但没有先导入它 - 您正在尝试将值错误地传递给
wget
,最好这样做cmd="wget -O /directory/ "+User_input;os.system(cmd)