如何摆脱字符串表示周围的单引号?

TMW*_*MWP 5 python data-representation

此示例代码打印文件中一行的表示.它允许'\n'在一行中查看其内容,包括控制字符,因此我们将其称为行的"原始"输出.

print("%r" % (self.f.readline()))
Run Code Online (Sandbox Code Playgroud)

但是,输出显示的'是每个末尾添加的字符不在文件中.

'line of content\n'

如何摆脱输出周围的单引号?
(Python 2.7和3.6中的行为相同.)

tde*_*ney 6

%r采用repr字符串的表示.它可以根据需要转义换行符等,但也会添加引号.要解决此问题,请使用索引切片自行删除引号.

print("%s" %(repr(self.f.readline())[1:-1]))
Run Code Online (Sandbox Code Playgroud)

如果这是您要打印的全部内容,则根本不需要通过字符串格式化程序

print(repr(self.f.readline())[1:-1])
Run Code Online (Sandbox Code Playgroud)

这也有效:

print("%r" %(self.f.readline())[1:-1])
Run Code Online (Sandbox Code Playgroud)