zoukankan      html  css  js  c++  java
  • 文件处理

    os.getcwd() 表示当前目录,可以换成其他目录路径
     
    --返回当前目录中的文件夹和文件
    >>> import os
    >>> os.listdir(os.getcwd())
    ['01成品代码', '@test.py', 'addtofile1.py', 'class.py', 'class1.py', 'cmd.py', 'csv.py', 'dbtest.db', 'def.py', 'eggs.csv', 'file.py', 'file1.py', 'get_ext.py', 'global.py', 'grades.dat', 'if.py', 'if1.py', 'imagemgr', 'insert_title.py', 'java', 'picklefile.py', 'printfile1.py', 'Prvdisk', 'PyQt5', 'pytest.py', 'random.py', 'readme.txt', 'ReplaceStr.py', 'sql', 'story.txt', 'test.txt', 'test1.py', 'test_ok.txt', 'writefile1.py', 'www.exe', '__pycache__', '股票补仓计算器.exe', '魔兽显血工具.exe']
    >>>
     
    --返回当前目录中的文件夹
    >>> import os
    >>> [p for p in os.listdir(os.getcwd()) if os.path.isdir(p)]
    ['01成品代码', 'imagemgr', 'java', 'Prvdisk', 'PyQt5', 'sql', '__pycache__']
    >>>
     
    --返回当前目录中的文件
    >>> import os
    >>> [p for p in os.listdir(os.getcwd()) if os.path.isfile(p)]
    ['@test.py', 'addtofile1.py', 'class.py', 'class1.py', 'cmd.py', 'csv.py', 'dbtest.db', 'def.py', 'eggs.csv', 'file.py', 'file1.py', 'get_ext.py', 'global.py', 'grades.dat', 'if.py', 'if1.py', 'insert_title.py', 'picklefile.py', 'printfile1.py', 'pytest.py', 'random.py', 'readme.txt', 'ReplaceStr.py', 'story.txt', 'test.txt', 'test1.py', 'test_ok.txt', 'writefile1.py', 'www.exe', '股票补仓计算器.exe', '魔兽显血工具.exe']
    >>>
     
    --返回当前目录中以 '.exe' 结尾的文件
    >>> [p for p in os.listdir(os.getcwd()) if os.path.isfile(p) and p.endswith('.exe')]
    ['www.exe', '股票补仓计算器.exe', '魔兽显血工具.exe']
    >>>
     
    --读文本文件
    1、逐行读取
    >>> f = open('D:\Test\readme.txt', 'r')
    >>> for line in f:
    print(line)
     
     
    大江东去,浪淘尽,千古风流人物。
     
    故垒西边,人道是,三国周郎赤壁。
     
    乱石穿空,惊涛拍岸,卷起千堆雪。
     
    江山如画,一时多少豪杰。
     
    遥想公瑾当年,小乔初嫁了,雄姿英发。
     
    羽扇纶巾,谈笑间,樯橹灰飞烟灭。
     
    故国神游,多情应笑我,早生华发。
     
    人生如梦,一樽还酹江月。
    >>>
    >>> f.close()
     
    如果不加 end = '' 会产生空行
     
    >>> f = open('D:\Test\readme.txt', 'r')
    >>> for line in f:
    print(line, end = '')
     
     
    大江东去,浪淘尽,千古风流人物。
    故垒西边,人道是,三国周郎赤壁。
    乱石穿空,惊涛拍岸,卷起千堆雪。
    江山如画,一时多少豪杰。
    遥想公瑾当年,小乔初嫁了,雄姿英发。
    羽扇纶巾,谈笑间,樯橹灰飞烟灭。
    故国神游,多情应笑我,早生华发。
    人生如梦,一樽还酹江月。
    >>>
    >>> f.close()
     
    2、整体读取文本文件
    >>> f = open('D:\Test\readme.txt', 'r')
    >>> print(f.read())
    大江东去,浪淘尽,千古风流人物。
    故垒西边,人道是,三国周郎赤壁。
    乱石穿空,惊涛拍岸,卷起千堆雪。
    江山如画,一时多少豪杰。
    遥想公瑾当年,小乔初嫁了,雄姿英发。
    羽扇纶巾,谈笑间,樯橹灰飞烟灭。
    故国神游,多情应笑我,早生华发。
    人生如梦,一樽还酹江月。
    >>> f.close()
     
    --写文本文件
    1、直接写入文本文件
    >>> f1 = open('D:\Test\story1.txt', 'w')
    >>> f1.write('abcdefg ')
    8
    >>> f1.close()
     
    2、追加模式写入文本文件
    >>> f1 = open('D:\Test\story1.txt', 'a')
    >>> f1.write('hijklmn ')
    8
    >>> f1.close()
     
    3、将字符串插入到文本文件开头
    >>> f1 = open('D:\Test\story1.txt', 'r+')
    >>> temp = f1.read()
    >>> temp = 'aaaaaaaa' + ' ' + temp
    >>> f1.seek(0) #让文件指针指向文件开头
    0
    >>> f1.write(temp)
    25
    >>> f1.close()
     
    4、pickle 处理二进制文件
    # picklefile.py
     
    import pickle
     
    def make_pickled_file():
    people = {'Alan' : 27,
    'Tom' : 28,
    'Dan' : 29
    }
    outfile = open('D:\Testpeople.dat', 'wb')
    pickle.dump(people, outfile)
     
    def get_pickled_data():
    infile = open('D:\Testpeople.dat', 'rb')
    people = pickle.load(infile)
    return people
     
    运行结果:
    >>> make_pickled_file()
    >>> get_pickled_data()
    {'Alan': 27, 'Tom': 28, 'Dan': 29}
    >>>
     
     
     
  • 相关阅读:
    解决:导出excel身份证号码显示为科学计数法
    6个出色的基于JQuery的Tab选项卡实例2010/01/29 16:261. jQuery 选项卡界面 / 选项卡结构菜单教程
    dhl:禁用firefox缓存
    artDialog4.0.5
    dhl:解除ASP.NET上传文件大小限制
    dhl:样式在ie不同浏览器下呈现不出来的原因分析
    dhl:artDialog 3.0.4 跨框架下 穿越的问题
    jQuery 1.7 正式版已经可以下载使用。jQuery是一个JavaScript库,它简化了HTML文档遍历,事件处理,动画和为网络快速发展的Ajax交互。jQuery 1.7 版本加入了新的事件API .on() 和 .off(),提
    无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。
    专家视角看IT与架构
  • 原文地址:https://www.cnblogs.com/john2017/p/6371667.html
Copyright © 2011-2022 走看看