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}
    >>>
     
     
     
  • 相关阅读:
    Root Android and Install Recovery linux shell script & Android root原理
    MPEG4 144962和H.264什么区别?
    Android root的两种方法 udev漏洞和setuid漏洞
    [转载]android三个特殊的资源目录 /res/xml /res/raw 和 /assets
    avast注册号|好用的avast注册号|没过期avast注册号
    忘记烦恼|如何忘记烦恼|忘记烦恼的方法
    第六感|最近又出现第六感了这个是什么问题呢
    移动手机为什么还有话费,就停机了,和客服的谈话
    .net保存中文到cookie时是乱码取出来的时候
    skype账号|超值skype账号|14分钟skype账号|1元40个|15天有效期
  • 原文地址:https://www.cnblogs.com/john2017/p/6371667.html
Copyright © 2011-2022 走看看