我需要在Python中创建一个Web服务器来列出目录(文件和目录)的内容,但事实证明只列出了文件,在我正在进行的测试中我列出了“/ etc”,但问题是它没有显示 /etc 中存在的目录,只是显示几个 /etc,然后它正确列出了文件,有人可以帮助我吗??
import web
import os
urls = (
'/(.*)', 'hello'
)
app = web.application(urls, globals())
class hello:
def GET(self, path):
path = '/etc/'+path
lista = '<html> <body>'
caminhos = [os.path.join(path, nome) for nome in os.listdir(path)]
for nome in caminhos:
lista = lista+path+'<br>'
arquivos = [arq for arq in caminhos if os.path.isfile(arq)]
for arq in arquivos:
lista = lista+arq+ '<br>'
lista = lista+'</body> </html>'
return lista
if __name__ == "__main__":
app.run()
试试这个..
import web
import os
urls = ('/(.*)', 'hello')
app = web.application(urls, globals())
class hello:
def GET(self, path):
path = '/etc/' + path
lista = '<html><body>'
for nome in os.listdir(path):
full_path = os.path.join(path, nome)
if os.path.isdir(full_path):
lista += f'<b>{full_path}</b><br>'
else:
lista += f'{full_path}<br>'
lista += '</body></html>'
return lista
if __name__ == "__main__":
app.run()
此代码正确列出指定目录(本例中为“/etc”)内的文件和目录,并将目录格式设置为 HTML 中的粗体文本。