我正在嘗試使用 .txt 檔案為我的游戲制作排行榜功能,但是在提取串列時,它將元組轉換為字串
我有的代碼:
#USER INPUT__________________________________________________________
text=input("input: ")
#READING AND PRINTING FILE__________________________________________
a_file = open("textest.txt", "r")
list_of_lists = []
for line in a_file:
stripped_line = line.strip()
line_list = stripped_line.split()
list_of_lists.append(line_list)
a_file.close()
print(list_of_lists)
#INSERTING STUFF IN THE FILE_________________________________________
with open("textest.txt", "a ") as file_object:
file_object.seek(0)
data = file_object.read(100)
if len(data) > 0 :
file_object.write("\n")
file_object.write(text)
檔案的內容是
['test1', 60]
['play 1', 5080]
['test2', 60]
['test3', 160]
['fake1', 69420]
但輸出給出
("['test1', 60]","['play 1', 5080]","['test2', 60]","['test3', 160]","['fake1', 69420]")
uj5u.com熱心網友回復:
用于ast.literal_eval()將檔案決議為串列。
import ast
with open("textest.txt", "r") as a_file:
list_of_lists = [ast.literal_eval(line) for line in a_file]
uj5u.com熱心網友回復:
ast.literal_eval() 安全地計算包含 Python 文字的運算式節點或字串。
import ast
data = ("['test1', 60]","['play 1', 5080]","['test2', 60]","['test3', 160]","['fake1', 69420]")
[tuple(ast.literal_eval(x)) for x in data]
輸出:
[('test1', 60),
('play 1', 5080),
('test2', 60),
('test3', 160),
('fake1', 69420)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/336734.html
上一篇:嵌套字典如何將鍵和值創建為嵌套字典值作為值。請幫助我
下一篇:如何使用具有多個結果的函式和組
