zoukankan      html  css  js  c++  java
  • python 002 文件输入输出

      python 文件对象不仅可以访问普通磁盘文件,也可以访问抽象层面上的文件对象(例如URL地址)

      打开文件open() file()功能一致可以任意替代

    fp = open('/etc/test.txt', 'r')    #以只读方式打开    
    fp = open('test.txt', 'w')          #以写方式打开
    fp = open('data.txt', 'r+')        #以读写方式打开
    fp = open(r'c:io.sys', 'rb')      #以二进制只读方式打开

    输入:

    tp.read(size)        #从文件中读取size个字节,默认size是-1表示读取所有内容
    tp.readline()        #每次只读一行
    tp.readlines()        #读取指针所在位置后的所有信息

    输出:

    fp.write('test test')

    文件内移动

    seek(-12,1)        #在当前位置向前移动12个字符
    #-12 负号指向前移动  1表示当前位置 0表示文件开始 2表示文件结尾
    #使用前需要使用tell()返回当前文件中的位置
    #例子
    f = open('test.txt','w+') print f.tell() f.write('text line 1 ') print f.tell() f.write('test line 2 ') print f.tell() f.seek(-13,1) print f.tell() f.write('test line 3 ') print f.tell() f.seek(-13,1) print f.tell()

    对文件进行操作完后一定要记得关闭文件fp.close()

     os.stat      查看文件信息

     os.utime   更新时间戳

    In [22]: import sys , os              #导入sys os模块
    
    In [23]: st = os.stat('test.txt')         #查看test.txt文件信息
    
    In [24]: print st                  #打印文件信息
    nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0, st_uid=0, st_gid
    =0, st_size=26L, st_atime=1497092960L, st_mtime=1497094979L, st_ctime=1497092960
    L)
    
    In [25]: print 'test.txt的访问时间:%s' % st.st_atime
    test.txt的访问时间:1497092960.56
    
    In [26]: print 'test.txt的修改时间:%s' % st.st_mtime
    test.txt的修改时间:1497094979.38
    
    In [27]: os.utime('test.txt',(1330712280,1330712292))    #更新test.txt时间戳

     创建临时文件对象

    tmpfile()

    In [31]: tmpfile = os.tmpfile()            #创建一个临时文件对象
    
    In [32]: tmpfile.write('临时文件创建成功了')    #在文件中写入一句话
    In [
    33]: tmpfile.seek(0)               #将文件指针移到文件开始 In [34]: print tmpfile.read()            #读取文件信息 临时文件创建成功了 In [35]: tmpfile.close()              #关闭文件

    生成一个目录树下的所有文件名

    walk()

    os.walk()遍历文件和目录

    import os
    for root , dirs , files in os.walk('.',topdown=True):
        print root
        print dirs
        print files
        for name in files:
            print(os.path.join(root,name))
        for name in dirs:
            print(os.path.join(root,name))

    输出结果:

    .
    ['.idea', 'ABC', 'BCD']
    ['filename.py', 'log.log', 'tell.py', 'test.txt', 'walk.py', 'write.py']
    .filename.py
    .log.log
    . ell.py
    . est.txt
    .walk.py
    .write.py
    ..idea
    .ABC
    .BCD
    ..idea
    []
    ['misc.xml', 'modules.xml', 'untitled.iml', 'workspace.xml']
    ..ideamisc.xml
    ..ideamodules.xml
    ..ideauntitled.iml
    ..ideaworkspace.xml
    .ABC
    []
    []
    .BCD
    []
    []

    Process finished with exit code 0

    目录和文件夹

    In [1]: import os
    
    In [2]: os.getcwd()
    Out[2]: 'C:\Users\Administrator\PycharmProjects\untitled'
    
    In [3]: os.mkdir('BBB')
    
    In [4]: os.listdir('.')
    Out[4]:
    ['.idea',
     'ABC',
     'BBB',
     'BCD',
     'filename.py',
     'log.log',
     'tell.py',
     'test.txt',
     'walk.py',
     'write.py']
    
    In [5]: os.rmdir('BBB')
    
    In [6]: os.chdir('c:/Users/')
    
    In [7]: os.getcwd()
    Out[7]: 'c:\Users'

     os.path模块中的路径名访问函数

    import os        #导入os模块
    #去掉目录返回文件名
    print os.path.basename('C:/Users/Administrator/PycharmProjects/untitled/walk.py') #去掉文件名,返回路径
    print os.path.dirname('C:/Users/Administrator/PycharmProjects/untitled/walk.py') #将各部分拼接成一个路径
    print os.path.join('c:\','dir','abc') #返回路径和文件名
    print os.path.split('C:/Users/Administrator/PycharmProjects/untitled/walk.py') #返回盘符和文件路径
    print os.path.splitdrive('C:/Users/Administrator/PycharmProjects/untitled/walk.py') #返回文件名字和扩展名
    print os.path.splitext('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
    #返回最近访问时间
    print os.path.getatime('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
    #返回创建时间
    print os.path.getctime('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
    #返回修改时间
    print os.path.getmtime('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
    #返回文件大小(以字节为单位)
    print os.path.getsize('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
    #判断指定文件或目录是否存在
    print os.path.exists('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
    #判断指定路径是否为绝对路径
    print os.path.isabs('C:/Users/Administrator/PycharmProjects/untitled/walk1.py')
    #判断指定路径是否为一个目录
    print os.path.isdir('C:/Users/Administrator/PycharmProjects/untitled/')
    #判断指定路径是否是文件
    print os.path.isfile('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
    #判断指定路径是否是一个链接
    print os.path.islink('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
    #判断指定路径是否是一个挂载点
    print os.path.ismount('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
    #判断两个路径是否指向同一个文件
    print os.path.samefile('C:/Users/Administrator/PycharmProjects/untitled/walk.py','C:/Users/Administrator/PycharmProjects/untitled/walk.py')


    输出结果:

    walk.py
    C:/Users/Administrator/PycharmProjects/untitled
    c:dirabc
    ('C:/Users/Administrator/PycharmProjects/untitled', 'walk.py')
    ('C:', '/Users/Administrator/PycharmProjects/untitled/walk.py')
    ('C:/Users/Administrator/PycharmProjects/untitled/walk', '.py')

    1497103691.58
    1497101112.35
    1497103691.58
    240

    True
    True
    True
    True
    False
    False

     

        

  • 相关阅读:
    Navicat 创建mysql存过、定时执行存过
    windows 系统 MySQL_5.6.21安装教程
    ldf和mdf文件怎么还原到sqlserver数据库
    免安装的tomcat转服务
    关掉IE提示“当前安全设置会使计算机有风险”
    U盘制作系统启动盘方法
    Tomcat窗口标题,中文乱码解决方法
    MyEclipse10安装SVN插件
    IE浏览器的卸载操作
    739. Daily Temperatures 每日温度
  • 原文地址:https://www.cnblogs.com/EWWE/p/6979787.html
Copyright © 2011-2022 走看看