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