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!')
  • 相关阅读:
    super.getClass().getName()方法调用的返回
    外观模式(Façade Pattern)
    Framework 4.0 将何去何从
    SQL Server 2005 第一篇 引言
    抽象工厂模式(Abstract Factory)
    浅谈分页技术
    垃圾邮件
    读书时的软件开发梦
    写技术博客的一个原因应该是寂寞吧
    当下10大最热门的网站开发技术
  • 原文地址:https://www.cnblogs.com/cxc1357/p/10583838.html
Copyright © 2011-2022 走看看