python显示中文文件内容_使用Python CGI在<div>中显示文件内容

我试图显示/etc/postfix的内容/运输.in在

中通过python&cgi。当我从命令行运行脚本时,它的工作方式与我预期的一样,但是,当从网页调用时,它不显示文件内容。这是我在我的CGI中所拥有的:#!/usr/bin/env python

import cgi, os.path

# fileName = "/etc/postfix/transport.in"

form = cgi.FieldStorage()

fileName = form['file'].value

def safePlainText(s):

newString = s.replace('&', '&').replace('

return newString

def fileLinesToHTMLLines(fileName):

safeLines = list()

if os.path.exists(fileName): # test if the file exists yet

lines = fileToStr(fileName).splitlines()

for line in lines:

safeLines.append(safePlainText(line))

return safeLines

def fileToStr(fileName):

fin = open(fileName);

contents = fin.read();

fin.close()

return contents

lines = fileLinesToHTMLLines(fileName)

print "Content-type:text/html\r\n\r\n"

print ""

print "

"

print "

Data File %s" % fileName

print ""

print "

"

print "

  • "

for line in lines:

print "

%s " % str(cgi.escape(line))

print "

"

print ""

print ""

除了我要显示的文件行之外,所有内容(包括标题在内的HTML标记)都按预期完成。Firebug将服务器的响应显示为:

^{pr2}$

但是,如果我从命令行运行脚本,我会得到:# sudo -u apache ./test3.py

Content-type:text/html

Data File /etc/postfix/transport.in
  • host.domain.com relay:[mailhub.domain.corpnet1]
  • * relay:[host.mailrelay.com]

我确信这是件简单的事,但就我的一生而言,我无法弄明白…

我在RHEL7上运行python2.7.5/apache2.4.6。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值