У меня есть 20 файлов Python, которые хранятся внутри каталога в ubuntu 14.04, например, 1.py, 2.py, 3.py, 4.py
Я выполняю эти файлы "python 1.py", "python 2.py" в ближайшее время в 20 раз.
это их способ выполнить все файлы python внутри папки по одной команде?
find . -maxdepth 1 -name "*.py" -exec python3 {} \;
for F in $(/bin/ls *.py); do ./$F; done
Вы можете использовать любую конструкцию bash непосредственно из командной строки, например, для цикла. Я также принудительно /bin/ls
, чтобы обойти любые псевдонимы, которые вы, возможно, установили.
Вы можете попробовать с помощью glob библиотеки.
Сначала установите glob lybrary.
Затем импортируйте его:
import glob
Затем используйте цикл for для итерации по всем файлам:
for fileName in glob.glob('*.py'):
#do something, for example var1 = filename
* Используется для их открытия.
Дополнительная информация здесь: https://docs.python.org/2/library/glob.html
Используйте петлю внутри папки:
#!/bin/bash
for script in $(ls); do
python $script
done
maxdepth 1