如何在Python中读取包含换行和制表符的文件为字符串?
我正在尝试读取一个包含制表符和换行符的数据文件,这个数据是JSON格式的。
当我使用 file.read()
或 readlines()
等方法读取时,所有的换行符和制表符也都被读取进来了。
我试过使用 rstrip()
、分割等方法,但都没有成功,可能是我漏掉了什么:
基本上我做的就是这些:
f = open('/path/to/file.txt')
line = f.readlines()
line.split('\n')
这是数据(包括原始的制表符,所以格式很糟糕):
{
"foo": [ {
"id1" : "1",
"blah": "blah blah",
"id2" : "5885221122",
"bar" : [
{
"name" : "Joe JJ",
"info": [ {
"custid": "SSN",
"type" : "String", } ]
} ] } ] }
我在想有没有什么优雅的方法可以忽略这些。
我也希望能使用 json.dumps()
。
6 个回答
0
关于json模块的使用呢?
import json
tmp = json.loads(open("/path/to/file.txt", "r"))
output = open("/path/to/file2.txt", "w")
output.write(json.dumps(tmp, sort_keys=True, indent=4))
2
这是一个小技巧,可能效率不高:
f = open("/path/to/file.txt")
lines = f.read().replace("\n", "").replace("\t", "").replace(" ", "")
print lines
6
如果数据是JSON格式,为什么不直接使用json.load()呢?
import json
d = json.load(open('myfile.txt', 'r'))