如何从File中读取带引号的字符串并将其写入而不带引号?

时间:2018-07-26 16:18:04

标签: python file-io

我正在尝试编写python脚本,将文件中的行转换为json输出,其中每行包含一个json blob。

到目前为止,我的代码是:

with open( "/Users/me/tmp/events.txt" ) as f:
        content = f.readlines()

# strip to remove newlines
lines = [x.strip() for x in content]

i = 1

for line in lines:
        filename = "input" + str(i) + ".json"
        i += 1
        f = open(filename, "w")
        f.write(line)
        f.close()

但是,我遇到一个问题,如果我在引用文件中有一个条目,例如:

client:"mac"

这将输出为:

"client:""mac"""

在写入文件时使用第二条带将给出:

client:""mac

但我想看看:

client:"mac"

有什么方法可以强制Python读取格式为“ something”的文本,而无需在其周围附加引号?

1 个答案:

答案 0 :(得分:0)

与其创建辅助列表以从内容中删除换行符,不如直接打开输入和输出文件。遍历输入行并剥离所有您认为必要的内容时,将其写入输出文件。尝试这样的事情:

with open('events.txt', 'rb') as infile, open('input1.json', 'wb') as outfile:
    for line in infile:
        line = line.strip('"')
        outfile.write(line)