จะนำเข้ารายการจาก 'ไฟล์แบบฟอร์มรายการ txt' ได้อย่างไร

ฉันกำลังสร้างโปรแกรม python3 บางโปรแกรมที่ทำงานกับรายการขนาดใหญ่มาก (ประมาณ 5,000 รายการ) ฉันคิดว่า 'รายการนำเข้าจากไฟล์ txt' จะสะดวกสำหรับโปรแกรมของฉัน แต่หลามนำเข้าเหมือนสตริง ไม่ใช่รายการ

ฉันสร้างไฟล์ txt เช่น....

["a", "1", "b", "2", "c", "3", "d"....]    

และใช้ฟังก์ชัน f.read, f.readlines, f.readline เพื่ออ่านไฟล์ txt

f=open('list.txt','r',encoding='utf-8')

exception_list=f.read()
list(exception_list)
print(exception_list[0])

ฉันคาดหวังผลลัพธ์ a

แต่ผลลัพธ์จริงคือ [

แต่เมื่อฉันพิมพ์ตัวแปรทั้งหมดที่อ่านจากไฟล์ txt

print(exception_list)

มากกว่าการพิมพ์แบบนั้น

["a","1","b",....]

ฉันจะนำเข้ารายการจากไฟล์ txt ได้อย่างไร


person Yang    schedule 18.07.2019    source แหล่งที่มา
comment
ผลผลิตที่คาดหวัง   -  person AnkushRasgon    schedule 18.07.2019


คำตอบ (1)


คุณต้องใช้ ast ด้วย ast.literal_eval คุณสามารถประเมินโหนดนิพจน์หรือสตริงที่มีนิพจน์ Python ได้อย่างปลอดภัย สตริงหรือโหนดที่ระบุอาจประกอบด้วยโครงสร้างตามตัวอักษร Python ต่อไปนี้เท่านั้น: สตริง ตัวเลข สิ่งอันดับ รายการ คำสั่ง บูลีน และไม่มี

>>> x = ast.literal_eval(exception_list)
>>> x
["a", "1", "b", "2", "c", "3", "d"....]   
person Adam    schedule 18.07.2019