代码之家  ›  专栏  ›  技术社区  ›  learningstudent

在python中执行文件夹中的所有文件

  •  2
  • learningstudent  · 技术社区  · 7 年前

    我有20个python文件,它们存储在Ubuntu14.04的一个目录中,比如1.py、2.py、3.py、4.py。

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

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

    4 回复  |  直到 7 年前
        1
  •  2
  •   RedEyed    7 年前
    find . -maxdepth 1 -name "*.py" -exec  python3 {} \;
    
        2
  •  1
  •   Nic3500 tpdi    7 年前
    for F in $(/bin/ls *.py); do ./$F; done
    

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

        3
  •  0
  •   Netwave    7 年前

    在文件夹中使用循环:

    #!/bin/bash
    for script in $(ls); do
        python $script
    done
    
        4
  •  0
  •   Duarte Arribas    7 年前

    你可以尝试使用library glob。

    首先安装全球数据库。

    然后导入:

    import glob
    

    然后使用for循环迭代所有文件:

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

    *用于将它们全部打开。

    更多信息请访问:https://docs.python.org/2/library/glob.html