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