当我从PyScripter IDE运行这个os.walk代码时,它运行得很好。 os.walk能够遍历远程unix路径并打印目录和文件名。
但是,当我从我的Apache服务器的cgi-bin运行这个相同的脚本时,我没有输出os.walk(path,dirs,files)。我也没有收到Apache error.log文件中记录的任何错误消息。
注意:Python和我的cgi-bin在同一台Windows机器上,而remote_path在Unix上。
为什么同样的代码可以在控制台上运行,但不能从cgi-bin运行,我该怎么做才能解决这个问题?
#!C:\Python27\python.exe -u
import os
print "Content-type: text/html\n\n";
print "<html><head>"
print "<font size=+2><B>os.walk test</B></font><br><br>";
# Remote path
remote_path = r'\\unix_server\path\2015\q1\files\na\canada'
i = 0
for (path, dirs, files) in os.walk(remote_path):
print "Path", path
print "<BR><BR>Dirs", dirs
print "<BR><BR>Files", files
i += 1
if i >= 1:
break
答案 0 :(得分:0)
多亏了善意,我发现问题确实是Apache没有相应的权限。
要解决此问题,我执行了以下操作(Windows 7操作系统):