文件变量的声明:
#路径声明 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!')