[Python] 文件读写

文件变量的声明:

#路径声明
path = r'F:spyder_workspace	est1.txt'
#另一种方式
#path = 'F:\spyder_workspace\test1.txt'
#文件声明
f = open(path,'r')
#文件读取,默认全部
f.read()
#按行读取,默认一行,返回字符串
f.readline()
#按行读取,默认全部,返回列表
f.readlines()
#光标回到文件起点
f.seek(0)
#关闭文件
f.close()

os模块:

import os
#操作系统名称,nt代表windows
os.name
#当前目录
os.getcwd()
#切换路径
os.chdir(r'F://spyder_workspace')
#当前目录文件(返回列表)
os.listdir()
#删除文件
os.remove('test1.txt')
#运行windows命令提示符
os.system('cmd')
#分离路径名和文件名(返回元组)
os.path.split()
#路径是否存在
os.path.exists(r'F://spyder_workspace')

用百度POI插件读取数据,存成txt,再转成json格式

脉策数据:

http://www.metrodata.cn/

m = []
path = r'F:spyder_workspacePOI.txt'
f = open(path,'r')

for line in f.readlines():
    st1 = line.split(":")
    name = st1[0]
    st2 = st1[1].split(",")
    lng = float(st2[0])
    lat = float(st2[1])
    address = st2[2]
    v = [['name',name],['lng',lng],['lat',lat],['address',address]]
    d = dict(v)
    m.append(d)

写内容:

#创建文件
path = r'F:spyder_workspace'
f = open(path+'\test.txt','w',encoding='utf8')
#写入数据
f.write('hello world!
')
#写入多行
lst = ['a','b','c','d','e']
for i in range(len(lst)):
    lst[i] = lst[i] + '
'
f.writelines(lst)    
#关闭文件,保存数据
f.close()
#其他两种方式
#f.flush()
#with open(...) as f:
print('finished!')

小例子:

#创建文件
path = r'F:spyder_workspace'
f = open(path+'\test.txt','w',encoding='utf8')
#写入多行
n = list(range(1,6))
m = ['a','b','c','d','e']
for i in range(len(n)):
    f.writelines([str(n[i]),',',m[i]+'
'])    
#关闭文件,保存数据
f.close()
print('finished!')

pickle:

#通过序列化&反序列化,获取中间数据
import pickle
#创建文件
data = {'a':[1,2,3,4,[5,6]],'b':('string','abc'),'c':'hello'}
#创建二进制格式pickle对象
path = r'F:spyder_workspace'
pic = open(path+'\test.pk1','wb')
#序列化
pickle.dump(data,pic)
pic.close()
#反序列化
f = open(path+'\test.pk1','rb')
st = pickle.load(f)
print(st)
print('finished!')
原文地址:https://www.cnblogs.com/cxc1357/p/10583838.html