我想将用户输入传递给wget以下载网页内容。
User_input = raw_input "Type a URL Here.. "
os.system("wget -O /directory/, User_input")
上面的代码不起作用,因为wget不会接受用户输入,但它会改为“User_input”。有没有解决这个问题的方法?
谢谢
答案 0 :(得分:0)
您实际上并没有传递变量,也使用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))
如果您的命令返回非零退出状态,您将使用CalledProcessError
获得check_call
。
保存文件的最简单方法是让用户选择名称并添加扩展名。你可以解析传递的网址,但是有太多可能的变化来保持一致:
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])
答案 1 :(得分:0)
你至少试过学习一些Python吗?您的代码有很多的问题。
raw_input "Something"
无效。您需要使用raw_input("User input: ")
os
模块而不先导入wget
,最好这样做cmd="wget -O /directory/ "+User_input;os.system(cmd)