【问题标题】:Update python script called from other script更新从其他脚本调用的 python 脚本
【发布时间】:2015-06-25 17:46:17
【问题描述】:

我有一个名为 genData 的小型 Python 脚本,其中包含一个函数 genWork,它接受 5 个参数。在另一个脚本中,我这样做了

from genData import genWork

然后调用函数 genWork(1, 2, 3, 4, 5)。这工作得很好,另一个脚本按预期运行。

然后我在 genData 文件中编辑了函数 genWork,它现在需要 7 个参数。我在另一个脚本中保留相同的导入行,并将函数用作 genWork(1, 2, 3, 4, 5, 6, 7)。我得到错误:

TypeError: genWork() takes exactly 5 arguments (7 given)

所以,我猜测 genData 脚本实际上并没有更新?我尝试删除创建的 .pyc 文件,但仍然遇到相同的错误。

【问题讨论】:

  • 您在编辑文件后是否点击了保存
  • 您是否还检查了文件中某处是否有任何与sys.argv 相关的比较?
  • @Bharadwaj 嗯,没有 'sys.argv' 内容,因为第二个脚本只是调用带有参数的函数,而不是从命令行获取参数。

标签: python call


【解决方案1】:

您也可以尝试删除 .pyc 文件并再次运行(假设您保存了文件)。这些文件应该已自动更新,但有时无法按预期工作。

我想将此添加为评论,但我没有足够的声誉。

【讨论】:

    【解决方案2】:

    好吧,我很笨,我发现了我的问题。 (如果其他人有类似问题,请回答。)

    我有一个旧版本的 genData 保存在不同的目录中。该目录在我的路径中,但我正在使用的目录不在我的路径中。因此,当我从 genData 导入 genWork 函数时,它正在从另一个目录导入旧版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2014-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多