Python脚本-在本地环境上工作,但不在Dev Server上工作

时间:2018-12-03 19:32:09

标签: python html ubuntu operating-system

正如标题所述,我已经构建了一个Python脚本,该脚本在我的本地系统上运行良好。但是,结果在我拥有的开发服务器上并不相同。这两个系统都运行Ubuntu 18.04仿生。我将在代码下方提供更多信息。

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循环无法正常工作。但是,我没有在终端中运行代码的任何错误,只是空数组。我的想法是OS模块可能有问题,但是我不确定如何检查。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

正如评论所说,我只是在代码中写错了目录。那样总是一个愚蠢的错误。