【问题标题】:Executing all files inside a folder in Python在Python中执行文件夹内的所有文件
【发布时间】:2018-06-29 10:23:45
【问题描述】:

我有 20 个 Python 文件存储在 ubuntu 14.04 的一个目录中,例如 1.py、2.py、3.py、4.py 很快

我已经通过“python 1.py”、“python 2.py”执行了这些文件 20 次。

他们是一种通过单个命令执行文件夹内所有 python 文件的方法吗?

【问题讨论】:

    标签: python bash python-2.7 shell


    【解决方案1】:
    find . -maxdepth 1 -name "*.py" -exec  python3 {} \;
    

    【讨论】:

    • 这最终会在子目录中递归,这可能不是 OP 想要的。
    • 已添加maxdepth 1
    • 在低于 Python 2.7 的情况下使用 python 代替 python3
    • @RedEyed:非常感谢
    【解决方案2】:
    for F in $(/bin/ls *.py); do ./$F; done
    

    您可以直接从命令行使用任何 bash 结构,例如 for 循环。我还强制/bin/ls 确保绕过您可能设置的任何别名。

    【讨论】:

      【解决方案3】:

      在文件夹内使用循环:

      #!/bin/bash
      for script in $(ls); do
          python $script
      done
      

      【讨论】:

        【解决方案4】:

        您可以尝试使用库 glob。

        首先安装 glob 库。

        然后导入:

        import glob
        

        然后使用for循环遍历所有文件:

        for fileName in glob.glob('*.py'):
            #do something, for example var1 = filename
        

        * 用于将它们全部打开。

        更多信息在这里:https://docs.python.org/2/library/glob.html

        【讨论】:

          猜你喜欢
          • 2021-01-08
          • 1970-01-01
          • 1970-01-01
          • 2017-04-04
          • 2021-12-19
          • 1970-01-01
          • 1970-01-01
          • 2011-07-18
          相关资源
          最近更新 更多