【问题标题】:Hi, I've been trying to do a retrieval in python [closed]嗨,我一直在尝试在 python 中进行检索 [关闭]
【发布时间】:2011-11-14 16:46:44
【问题描述】:

我一直在尝试在 python 中进行检索

【问题讨论】:

  • 您无权访问/tmp/ 目录(奇数)。尝试使用sudo 运行 Python。
  • @Blender:脚本可以访问/tmp,否则回溯中将没有download_file(item)。它会更快失败。
  • @J.F.Sebastian:你是什么意思?回溯指向访问/tmp/ 的第一行。
  • @Blender:注意:23 行是 before 13(递归调用)
  • @J.F.Sebastian:哦,我完全错过了那个递归调用(facepalm)

标签: python python-3.x


【解决方案1】:
  • urlretrieve() 的第二个参数是文件名而不是目录。
  • 你忽略了docid 参数
  • 你可能不想递归调用download_file()
  • `folder_size`(带反引号)是语法错误

这是一个将/tmp/docids中指定的文档下载到/tmp/Footemp目录(必须存在)的脚本:

outdir = "/tmp/Footemp"
with open("/tmp/docids") as f:
     for line in f:
         docid = line.strip()
         if not docid: continue # skip empty lines
         name = urllib.parse.quote_plus(docid)
         url = "http://foo.com/doc/" + name
         path = os.path.join(outdir, name)
         name, info = urllib.request.urlretrieve(url, path)
         print(info)

Calculating a directory size using Python?

【讨论】:

  • +1 来自我。我只是在写一个类似的答案;)
【解决方案2】:

代码看起来是正确的,因此很可能是权限错误。尝试保存到您知道自己具有写入权限的目录中的文件。

【讨论】:

    猜你喜欢
    • 2021-05-27
    • 2021-11-01
    • 2022-01-25
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    相关资源
    最近更新 更多