Python Script - работает в локальной среде, но не на Dev Server - PullRequest
0 голосов
/ 03 декабря 2018

Как видно из названия, я создал скрипт 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 не работает должным образом.Однако я не получаю никаких ошибок при запуске кода в терминале, только пустой массив.Я думаю, что это может быть проблема с модулем ОС, но я не уверен, как это проверить.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 03 декабря 2018

Как говорится в комментариях, в моем коде выписан неправильный каталог.Это всегда такая глупая ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...