【发布时间】:2013-09-25 06:33:56
【问题描述】:
我正在使用 Python 抓取一组原始 pdf 文件。让他们发短信后,我在把行尾弄出来时遇到了很多麻烦。我无法弄清楚行分隔符是什么。麻烦的是,我还是不知道。
这不是'\n',或者,我认为不是'\r\n'。但是,我设法隔离了这些特殊字符之一。我确实将它保存在内存中,通过调用my_str.replace(eol, ''),我可以从我的一个文件中删除所有这些字符。
所以我的问题是开放式的。当谈到 unicode 等时,我有点迷茫。我怎样才能在我的文件中识别这个字符而不诉诸一些荒谬的事情,比如序列化它然后读入它?有没有办法可以将它称为代码?我无法让 Python 产生它实际的样子。如果我打印它,或者调用unicode(special_eol),我所看到的只是它作为换行符的功能用法中的字符。
请帮忙!谢谢,如果我遗漏了一些明显的东西,我们深表歉意。
【问题讨论】:
-
print repr(eol)和/或print eol.encode('unicode_escape')和/或print ord(eol),然后向我们展示输出。 -
所有个 unicode 码点都可以用一个 unicode 转义序列来表示,但如果没有更多细节,我们无法告诉您哪个转义码是正确的。
-
哇,你完全知道我需要输入什么。嗯,我有点尴尬,因为它是一个'\ n'。我不明白,因为我试过
str.rstrip('\n')。 -
.rstrip('\n')只删除字符串末尾的换行符;也许它也出现在字符串的其他地方?也可以看看str.splitlines()。 -
好吧,这解决了我的困惑。由于我确实想删除所有这些,
.replace('\n', '')就足够了。非常感谢!
标签: python file-io unicode newline