Python写list到文件:
f=open("courses","w")
for i in coursesInfo:
f.write(str(i)+"\n")
f.close()
写完之后是这样的,
['A', '2', '良好']
['B', '2', '优秀']
['CD', '2', '良好']
读取的时候,有没有什么简便的方法可以直接读成list呢?
1
sleeperqp 2015-07-18 16:44:02 +08:00
文件格式有要求么?
没有的话可以把list当做一行输出 比如 A 2 良好 B 2 优秀这样 然后读成string后然后split 就可以得到list了 |
3
MasterYoda 2015-07-18 17:09:18 +08:00
json
|
4
scream7 2015-07-18 17:11:32 +08:00
直接用dump呗
|
6
lingo233 2015-07-18 17:13:07 +08:00
每行strip,然后eval?
|
7
wizardoz 2015-07-18 17:14:00 +08:00 1
骚年,我看你需要的是JSON。
import json # 写 with open("courses",'w') as fp: json.dump(list(coursesInfo)) #读 with open("courses","r") as fp: coursesInfo = json.load(fp) |
8
lingo233 2015-07-18 17:15:08 +08:00
忘了eval只对数字有效
|
9
lingo233 2015-07-18 17:22:24 +08:00
看了下文档可以得
In [1]: eval("['A', '2', '良好']") Out[1]: ['A', '2', '良好'] |
10
clino 2015-07-18 17:28:14 +08:00 via Android
还是json吧
|
11
bjjvvv 2015-07-18 20:24:37 +08:00
可以保存的时候去掉list前后的 [ ] ,然后就可以当成一个csv文件来处理了
|
13
kenX 2015-07-19 00:53:55 +08:00 via iPhone
写的时候
f.write('|'.join(i)) 读的时候split一下 |
14
ryd994 2015-07-19 09:10:25 +08:00 via Android
pickle
如果要通用就json 不要自己再造轮子了 |
15
zerh925 2015-07-19 17:40:34 +08:00
conetent = []
with open('filename', 'r') as f: whole = f.readlines() for line in whole: content.append(line.split(',') |
16
zerh925 2015-07-19 17:41:04 +08:00
括回来
|
17
keakon 2015-07-19 23:01:11 +08:00
如果你已经保存成那样了,用 literal_eval
>>> from ast import literal_eval >>> literal_eval("['a', 1, '蛤蛤']") ['a', 1, '\xe8\x9b\xa4\xe8\x9b\xa4'] |
18
kaneg 2015-07-22 15:24:07 +08:00
Python 的json貌似不支持单引号
|