Py学习  »  Python

如何在python中加载文本文件?

JJson • 6 年前 • 246 次点击  

我有一个这样的文本文件:

[0.52, '1_1man::army'], stack 
[0.45, '3_3man::army'], flow
[0.52, '1_1man::army'], testing 
[0.52, '2_2man:army'], expert

如何加载到文件中并打印

'1_1man::army', '3_3man::army', '1_1man::army' and '2_2man:army'

我的代码:

text = open("text.txt", "r").readlines()
print(text[1])

然后实施一些好人分享的解决方案。我不能使用他们的代码,因为我现在拥有的文件与我发布的文件不同(我想尝试这个新的例子)。

How can I arrange the list according to similar item in certain location

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38015
文章 [ 2 ]  |  最新文章 6 年前
Mr_pzling_Pie
Reply   •   1 楼
Mr_pzling_Pie    7 年前

更简单的方法是生成一个JSON文件。python是一个很好的内置JSON阅读库。这就是JSON的样子:

{
    "1_1man::army": "stack",
    "3_3man::army": "flow",
    "1_1man::army": "testing",
    "2_2man::army": "expert",
}

您可以输入这个并将文件扩展名从.txt更改为.json。你可以这样读:

import json

with open("YourText/JsonFileHere.json") as f:
    data = json.load(f)

// Get first 1_1man::army value
data[0]["1_1man::army"]

// Get 3_3man::army value
data["3_3man::army"]

// Get second 1_1man::army value
data["1_1man::army"]

// Get 1_1man::army value
data[1]["1_1man::army"]

// in order to add things to the json do this:
data["What you want the new key to be called"] = "What the value is"

如果有帮助,请告诉我!

thithien
Reply   •   2 楼
thithien    7 年前

如果该格式在整个文件中是严格的。你可以简单地使用 split() 在引号之间提取这些值

with open("text.txt", "r") as file:
    for line in file:
        print (line.split("'")[1])

line.split("'") 每当它看到 ' . 在您的例子中,每一行都将被分割成3个元素的列表:

[0.52, 
1_1man::army
], stack

你要中间那个,有索引的 [1] . 所以 line.split("'")[1] 正是这样。