zoukankan      html  css  js  c++  java
  • python文件I/O

    python文件I/O

      键盘读入:
        raw_input函数
        str = raw_input("请输入: ")

        input函数,可以接受一个python表达式作为输入
        str = input("请输入:")
        输入:[ x*5 for x in range(2, 10, 2)]


    open函数:
      file object = open(file_name [, access_mode] [, buffering])

      不同模式打开文件的完全列表:



    File对象的属性



    close()方法:
      File对象的close()方法刷新缓冲区里任何没写入的信息,并关闭该文件

    write()方法:
      将任何字符串写入一个打开的文件,python字符串可以是二进制数据
      write()方法不会在字符串的结尾添加换行符(' ')

    read()方法:
      从要给打开的文件中读取一个字符串,字符串可以是二进制数据


    文件定位
      tell()方法返回文件内的当前位置
      seek(offset [,from])方法改变当前文件的位置,
        offset变量表示要移动的字节数,from变量指定开始移动字节的参考位置
        如果from设置为0,表示文件的开头作为移动字节的参考位置
        如果设置为1,表示使用当前的位置作为参考位置
        如果设置为2,表示文件的末尾作为参考位置
        

        fo = open('foo.txt', 'r+')
        str = fo.read(10)
        position = fo.tell()
        #移动指针再次定位到文件开头
        position = fo.seek(0, 0)
        str = fo.read(10)

    重命名和删除文件
      os.rename(curren_file_name, new_file_name)

      os.remove(file_name)

    python里的目录:
      os.mkdir("newdir")
      os.chdir("newdir")
      os.getcwd()
      os.rmdir("dirname")

    Python File(文件) 方法:

    Python OS 文件/目录方法

     os.path模块的扩展:

    os.path.abspath(path) #返回绝对路径
    >>>print os.path.abspath("D:\SQAP\SQAP Training.pdf")
    >>>D:SQAPSQAP Training.pdf
    os.path.basename(path) #返回文件名
    >>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
    >>>SQAP Training.pdf
    os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。

    os.path.dirname(path) #返回文件路径
    >>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
    >>>D:\SQAP
    os.path.exists(path) #路径存在则返回True,路径损坏返回False
    >>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
    >>>True
    os.path.lexists #路径存在则返回True,路径损坏也返回True
    >>>print os.path.lexists("D:\SQAP\SQAP Training.pdf")
    >>>True
    os.path.expanduser(path) #把path中包含的"~"和"~user"转换成用户目录
    >>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
    >>>D:SQAPSQAP Training.pdf
    os.path.expandvars(path) #根据环境变量的值替换path中包含的"name"和"{name}"
    >>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
    >>>D:SQAPSQAP Training.pdf
    os.path.getatime(path) #返回最后一次进入此path的时间。
    >>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
    >>>1419227411.08
    os.path.getmtime(path) #返回在此path下最后一次修改的时间。
    os.path.getctime(path) #返回path的大小
    os.path.getsize(path) #返回文件大小,如果文件不存在就返回错误
    os.path.isabs(path) #判断是否为绝对路径
    >>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
    >>>True
    os.path.isfile(path) #判断路径是否为文件
    >>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
    >>>True
    os.path.isdir(path) #判断路径是否为目录
    >>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
    >>>False
    >>>print os.path.basename("D:\SQAP")
    >>>True
    os.path.islink(path) #判断路径是否为链接
    os.path.ismount(path) #判断路径是否为挂载点()
    os.path.join(path1[, path2[, ...]]) #把目录和文件名合成一个路径
    >>>print os.path.join("D:\SQAP","SQAP Training.pdf")
    >>>D:SQAPSQAP Training.pdf
    os.path.normcase(path) #转换path的大小写和斜杠
    os.path.normpath(path) #规范path字符串形式
    os.path.realpath(path) #返回path的真实路径
    os.path.relpath(path[, start]) #从start开始计算相对路径
    os.path.samefile(path1, path2) #判断目录或文件是否相同
    os.path.sameopenfile(fp1, fp2) #判断fp1和fp2是否指向同一文件
    os.path.samestat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件
    os.path.split(path) #把路径分割成dirname和basename,返回一个元组
    >>>print os.path.split("D:\SQAP\SQAP Training.pdf")
    >>>('D:\SQAP', 'SQAP Training.pdf')
    os.path.splitdrive(path) #一般用在windows下,返回驱动器名和路径组成的元组
    >>>print os.path.splitdrive("D:\SQAP\SQAP Training.pdf")
    >>>('D:', '\SQAP\SQAP Training.pdf')
    os.path.splitext(path) #分割路径,返回路径名和文件扩展名的元组
    os.path.splitunc(path) #把路径分割为加载点与文件
    os.path.walk(path, visit, arg) #遍历path,进入每个目录都调用visit函数,visit函数必须有
    3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有
    文件名,args则为walk的第三个参数
    os.path.supports_unicode_filenames #设置是否支持unicode路径名

  • 相关阅读:
    c博客作业05--指针
    C博客作业04--数组
    C博客作业03--函数
    C博客作业02--循环结构
    C博客作业01--分支、顺序结构
    我的第一篇博客
    DS博客作业05--查找
    DS博客作业04--图
    DS博客作业03--树
    DS博客作业02--栈和队列
  • 原文地址:https://www.cnblogs.com/djoker/p/9431356.html
Copyright © 2011-2022 走看看