Python将目录中的文件循环作为函数参数

时间:2016-01-27 15:59:49

标签: python io

在我的python scirpt中,我有一个函数func01,它将pdf文件作为参数:

func01("pdf1.pdf")

这有效,并为我提供了预期的输出。

现在我想对我目录中的所有文件执行func01。我试过这个:

import glob, os
os.chdir("/articles")
for file in glob.glob("*.pdf"):
  myoutput = func01(file)

...但这不起作用:TypeError: 'str' object is not callable

在搜索SO时,我将脚本重新编写为:

for file in glob.glob("*.pdf"):
  path_  = os.path.realpath(file)
  myputput = func01(path_)

所以我想要的是将循环中的每个文件用作我的函数的输入。我的代码中缺少什么?

1 个答案:

答案 0 :(得分:0)

您的错误消息

  

TypeError:'str'对象不可调用

暗示你正在做的某个地方"some string"(...)。在您发布的代码中,您只有几个函数调用。

  • os.chdir("/articles")
  • glob.glob("*.pdf")
  • myoutput = func01(file)

因此,os.chdirglob.globfunc01已被覆盖为字符串。