• 【转】PYTHON open/文件操作


    [注]虽是转载,但会在原文上有些修改!

    open/文件操作
    f=open('/tmp/hello','w')

    #open(路径+文件名,读写模式)

    #读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式

    如:'rb','wb','r+b'等等

    读写模式的类型有:

    rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)
    w     以写方式打开,
    a     以追加模式打开 (从 EOF 开始, 必要时创建新文件)
    r+     以读写模式打开
    w+     以读写模式打开 (参见 w )
    a+     以读写模式打开 (参见 a )
    rb     以二进制读模式打开
    wb     以二进制写模式打开 (参见 w )
    ab     以二进制追加模式打开 (参见 a )
    rb+    以二进制读写模式打开 (参见 r+ )
    wb+    以二进制读写模式打开 (参见 w+ )
    ab+    以二进制读写模式打开 (参见 a+ )


    注意:

    1、使用'W',文件若存在,首先要清空,然后(重新)创建,

    2、使用'a'模式 ,把所有要写入文件的数据都追加到文件的末尾,即使你使用了seek()指向文件的其他地方,如果文件不存在,将自动被创建。



    f.read([size]) size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)

    file.readline() 返回一行

    file.readline([size]) 此处修改为返回指定字节数的字符串

    假如文本内容为
    
    #1.txt
    
    11111111111
    
    22222222222
    
    #
    
    程序是
    
    f = open('1.txt','r')
    
    print f.readline(2)
    
    print f.readline()
    
    则结果是:
    
    11
    
    22222222222
    
    

    for line in f: print line #通过迭代器访问

    f.write("hello ") #如果要写入字符串以外的数据,先将他转换为字符串.

    f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).

    f.seek(偏移量,[起始位置])

    用来移动文件指针

    偏移量:单位:比特,可正可负

    起始位置:0-文件头,默认值;1-当前位置;2-文件尾

    f.close() 关闭文件

    Code:


    #!/usr/bin/env python
    # Filename: using_file.py

    poem='''Programming is funWhen the work is doneif you wanna make your work also fun: use Python!'''
    f=file('poem.txt','w') # open for 'w'riting
    f.write(poem) # write text to file
    f.close() # close the file
    f=file('poem.txt')

    # if no mode is specified, 'r'ead mode is assumed by default
    while True:
    line=f.readline()
    if len(line)==0: # Zero length indicates EOF
    break
    print line,
    # Notice comma to avoid automatic newline added by Python
    f.close()
    # close the file



    from:http://hi.baidu.com/zzfxz/blog/item/1c4d73cb4aa2c814bf09e613.html

  • 相关阅读:
    利用Windows消息循环,使窗体不能改变大小
    重磅发布全总结丨一文看懂阿里云弹性计算年度峰会
    阿里云弹性计算首席架构师分享云上应用架构演进三大方向
    只需5步!在轻量应用服务器部署Hexo博客
    阿里云手机正式公测,定义手机全新接入方式
    云服务器ECS年终特惠,老用户新购优惠低至4折
    阿里云发布CloudOps白皮书,ECS自动化运维套件新升级
    快速部署阿里云WebIDE(DevStudio)并参与开源项目开发
    抢先看! 2021阿里云弹性计算年度峰会嘉宾演讲内容提前曝光
    饿了么资深架构师分享云上基础架构演进
  • 原文地址:https://www.cnblogs.com/CQ-LQJ/p/6274931.html
Copyright © 2020-2023  润新知