【问题标题】:Python - If WGET access denied thenPython - 如果 WGET 访问被拒绝,那么
【发布时间】:2016-08-23 21:10:47
【问题描述】:

我正在编写一个 python 脚本,该脚本执行对 wget 的 os.system 调用并尝试从设定的位置下载文件。在执行时,它不知道服务器是否有 HTTP-AUTH,但会尝试默认页面的 wget。如果不成功,则需要运行一些替代代码。我在 Bash 中看到过这个问题,但在 python 中没有。

if os.system("wget http://{}".format IP)

否则 运行其他代码

【问题讨论】:

  • 你的问题,究竟是什么?
  • 你有什么问题?您粘贴的代码不是有效的 python。此外,下载文件的系统调用并不是在 python 中执行此操作的最佳方式。
  • 使用requests-模块。
  • 抱歉不清楚 - 这是我的第一篇文章。我知道系统调用可能不是最有效的,但我对这个世界很陌生。我的问题是我如何让 python 检查 wget 响应并检查匹配。我认为我需要为未经授权的尝试寻找 HTTP 错误代码,否则它可以接受它很好
  • @crashoveride 查找有关如何使用 python 下载文件的教程。您可以使用 lib (requests) 或 python 内置函数。

标签: python wget


【解决方案1】:

你可以使用subprocess.run执行wget然后使用returncode判断是否成功。所以它可能看起来像这样:

output = subprocess.run(["wget", "http://..."])
if output.returncode == 0:
     < wget worked>
else:
     < wget did not work>

您需要查看 wget 的返回码 here

有关子流程的更多信息,请查看here

【讨论】:

    猜你喜欢
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 2017-06-03
    • 2013-06-15
    相关资源
    最近更新 更多