无法在python中将用户输入传递给wget
我想将用户输入传递到wget以下载网页内容无法在python中将用户输入传递给wget,python,wget,Python,Wget,我想将用户输入传递到wget以下载网页内容 User_input = raw_input "Type a URL Here.. " os.system("wget -O /directory/, User_input") 上面的代码不起作用,因为wget不会接受用户输入,而是wget“user\u input”。有办法解决这个问题吗 谢谢您实际上并没有传递变量,请同时使用模块: 在代码中,您需要实际传递变量: os.system("wget -O /directory {}".f
User_input = raw_input "Type a URL Here.. "
os.system("wget -O /directory/, User_input")
上面的代码不起作用,因为wget不会接受用户输入,而是wget“user\u input”。有办法解决这个问题吗
谢谢您实际上并没有传递变量,请同时使用模块: 在代码中,您需要实际传递变量:
os.system("wget -O /directory {}".format(User_input))
如果您的命令返回非零退出状态,您将使用check\u 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吗?你的代码有很多问题
无效。您需要使用原始输入“某物”
原始输入(“用户输入:”)
- 您正在使用
模块,而没有先导入它os
- 您试图将值错误地传递给
,最好这样做wget
cmd=“wget-O/directory/”+User\u input;操作系统(cmd)
操作系统中的字符串声明不正确:您同时使用“
和”
@ForceBrum是的,如果输入错误,则根本不应使用该命令。应始终使用子流程模块。我刚刚写了一篇关于路径名和大括号之间需要空格的评论:)@padraiccnningham谢谢你的建议,代码对我很有用。还有一个问题,如何使用用户输入名称保存?例如,如果您键入google.com,它会将输出保存到google.html文件中。@PadraicCunningham,再次感谢您的快速帮助,但它似乎无法正常工作。虽然它是用用户输入的名称保存的,但该文件包含wget信息(下载过程),而不是网站的html内容,因为它是用另一个名为“index.html”的文件名保存的
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])