Как видно из названия, я создал скрипт Python, который отлично работает в моей локальной системе.Тем не менее, результаты на сервере разработки у меня не совпадают.Обе системы работают под управлением Ubuntu 18.04 Bionic.Я предоставлю дополнительную информацию под кодом.
import os
matches = []
directory = '/home/mount/'
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith('.html'):
matches.append(os.path.join(root, file))
print(matches)
for index, x in enumerate(matches):
print(x)
os.system(f'echo docker run --name nginx_{index} -p 8{index}:80 -v {x}:usr/share/nginx/html -d nginx')
Результаты в моей локальной системе следующие:
['/home/mount/test/file2.html', '/home/mount/test/file.html', '/home/mount/test/lower/file3.html']
/home/mount/test/file2.html
docker run --name nginx_0 -p 80:80 -v /home/mount/test/file2.html:usr/share/nginx/html -d nginx
/home/mount/test/file.html
docker run --name nginx_1 -p 81:80 -v /home/mount/test/file.html:usr/share/nginx/html -d nginx
/home/mount/test/lower/file3.html
docker run --name nginx_2 -p 82:80 -v /home/mount/test/lower/file3.html:usr/share/nginx/html -d nginx
Это именно то, что я хочу.По сути, скрипт ищет html-файлы в каталогах внутри или ниже того, который указан в верхней части кода.Затем он добавляет их в список, который затем добавляет в строку, которая принимает форму команды Docker.
На сервере я получаю только один вывод:
[]
, который говорит мне, что цикл for не работает должным образом.Однако я не получаю никаких ошибок при запуске кода в терминале, только пустой массив.Я думаю, что это может быть проблема с модулем ОС, но я не уверен, как это проверить.Любая помощь приветствуется.