【发布时间】: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
我有 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
find . -maxdepth 1 -name "*.py" -exec python3 {} \;
【讨论】:
maxdepth 1
for F in $(/bin/ls *.py); do ./$F; done
您可以直接从命令行使用任何 bash 结构,例如 for 循环。我还强制/bin/ls 确保绕过您可能设置的任何别名。
【讨论】:
在文件夹内使用循环:
#!/bin/bash
for script in $(ls); do
python $script
done
【讨论】:
您可以尝试使用库 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
【讨论】: