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}
    >>>
     
     
     
  • 相关阅读:
    sql server数据库中char,varchar,nvarchar字段的区别
    SQLServer 实现rownum 的功能
    web.config加密和解密
    页面命名和用户控件命名一样带来的后果
    oracle初识
    加载类成员技巧
    string.Empty与"",null的区别
    收集了一些有关网页设计的问题集
    网页最顶部转瞬即逝的巨幅广告特效
    鼠标放在图片连接上面,预览图片
  • 原文地址:https://www.cnblogs.com/john2017/p/6371667.html
Copyright © 2011-2022 走看看