繁体   English   中英

python从文件中读取特殊字符并打印

[英]python read special characters from a file and print them

我想做的是以下几点:

我有一个带有简单html代码的文件:

Content-type:text/html\r\n\r\n
<html>
<head>
<meta charset=\"utf-8\"/>
<title>DNS checker CGI script</title>
.
.

我想读取此文件并使用特殊字符(\\ n,\\ r,%...)打印其内容,因此输出将如下所示:

Content-type:text/html


<html>
<head>
<meta charset="utf-8"/>

我的python代码:

#!/usr/bin/python

f = open('/var/www/html/dns-checker/dns_not_correct.txt', 'r')
print(f.read(), end='')

在此先感谢您的帮助

我相信您也需要设置编码。 让我知道这是否适合您!

f = open('/var/www/html/dns-checker/dns_not_correct.txt', 'r', encoding='utf-8-sig')
   print(f.read(), end='')

所以,这是您的问题:

In [17]: mystring = r"""Content-type:text/html\r\n\r\n
    ...: <html>
    ...: <head>
    ...: <meta charset=\"utf-8\"/>
    ...: <title>DNS checker CGI script</title>"""

In [18]: print(mystring)
Content-type:text/html\r\n\r\n
<html>
<head>
<meta charset=\"utf-8\"/>
<title>DNS checker CGI script</title>

我相信最通用的解决方案是使用codecs

In [20]: import codecs

In [21]: codecs.escape_decode(mystring)
Out[21]:
(b'Content-type:text/html\r\n\r\n\n<html>\n<head>\n<meta charset="utf-8"/>\n<title>DNS checker CGI script</title>',
 108)

In [22]: print(codecs.escape_decode(mystring)[0])
b'Content-type:text/html\r\n\r\n\n<html>\n<head>\n<meta charset="utf-8"/>\n<title>DNS checker CGI script</title>'

In [23]: print(codecs.escape_decode(mystring)[0].decode())
Content-type:text/html


<html>
<head>
<meta charset="utf-8"/>
<title>DNS checker CGI script</title>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM