zoukankan      html  css  js  c++  java
  • [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!')
  • 相关阅读:
    学习之路
    cordova配置icon和splash
    cardova-android打包
    数组元素最大差值的问题
    病毒攻击
    STL模板中List
    Direct3D API函数
    Direct3D雾化效果浅析
    Direct3D中顶点声明格式
    DirectX9.0 Direct3D Graphics Pipeline 总结
  • 原文地址:https://www.cnblogs.com/cxc1357/p/10583838.html
Copyright © 2011-2022 走看看