zoukankan      html  css  js  c++  java
  • Python文件读写机制

    Python提供了必要的函数和方法进行默认情况下的文件基本操作

    文件打开方式:

    open(name[,mode[buf]])

    name:文件路径

    mode:打开方式

    buf:缓冲buffering大小

    文件读取方式:

    read([size]):读取文件(读取size字节,默认读取全部)

    readline([size]):读取一行

    readline([size]) :读取缓冲buf(io.DEFAULT_SET_BUFFER),返回每一行所组成的列表

    iter:使用迭代器遍历读取文件 f.open(name);iter_f = iter(f);用for line in iter_f循环迭代器

    文件写入方式:

    write(str):将字符串写入文件

    writelines(sequence_of_strings):写多行到文件,参数为可迭代的对象

    当调用write(str)时,python解释器调用系统调用想把把内容写到磁盘,但是linux内核有文件缓存机制,所以缓存到内核的缓存区,当调用close()或flush()时才会真正的把内容写到文件

    或者写入数据量大于或者等于写缓存,写缓存也会同步到磁盘上

    关闭文件的目的

    1:写缓存同步到磁盘

    2:linux系统中每个进程打开文件的个数是有限的

    3:如果打开文件数到了系统限制,在打开文件就会失败

    python文件指针的操作:

    seek(offset[,whence])移动文件指针

    offset:偏移量,可以为负数

    whence:偏移相对位置

    python文件指针的定位方式:

    os.SEEK_SET 相对于文件的起始位置 0

    os.SEEK_CUR 相对于文件的当前位置 1

    os.SEEK_END 相对于文件的结尾位置 2

    Python 文件属性:

    file.fileno(): 文件描述符;

    file.mode: 文件打开权限;

    file.encoding: 文件编码方式;

    file.closed: 文件是否关闭;

    Python 标准文件:

    标准输入文件:sys.stdin; 只读 描述符为0

    标准输出文件:sys.stdout; 只写 描述符为1

    标准错误文件:sys.stderr; 只写 描述符为2

    Python 命令行参数:

    sys模块提供sys.argv属性,通过该属性可以得到命令行参数。sys.argv是一个字符串序列,保存着命令行的参数,其中sys.argv[0]是文件名,1~n是真正的参数

    Python 文件编码方式

    Python文件默认的编码格式是ASCII格式,要写入中文可以将编码格式进行转换

    1. a = unicode.encode(u'你好', 'utf-8') 转换, 一个汉字在ASCII码中占3字节,在unicode中占2字节。

    2. 直接创建utf-8格式的文件。使用codecs模块提供的方法创建指定编码格式文件:

    codecs.open(fname, mode, encoding, errors, buffering): 使用指定编码格式打开文件

    3. 使用系统提供的open()函数也可以创建指定编码格式的文件:

    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

    Linux文件系统简单示意图


    下面是python操作文件的流程


    看完这些,是不是对python的文件机制有了一定的了解了^^!

          微信打赏通道              支付宝打赏通道


    作者:Andy
    出处:http://www.cnblogs.com/onepiece-andy/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    结对编程作业
    软工网络15个人阅读作业2——提问题
    软件工程 网络15个人阅读作业1
    java课程设计---彩票销售管理系统
    201521123122 《java程序设计》第十四周学习总结
    201521123122 《java程序设计》第十三周学习总结
    201521123122 《java程序设计》第十二周学习总结
    个人作业5
    软工网络15个人作业4——alpha阶段个人总结
    软工个人随笔3 罗骏 201521123121
  • 原文地址:https://www.cnblogs.com/onepiece-andy/p/python-wrfile.html
Copyright © 2011-2022 走看看