zoukankan      html  css  js  c++  java
  • python文件读写

    open

    f = open('filename','r') # 读模式
    f = open('filename','w') # 写模式
    f = open('filename','a') # 追加模式

    注:rb 是以二进制读取

    现在你觉得没用对吧,我也这么觉得。。。
    but
    在以后用到socket的时候,传输文件,读取和写入用的都是二进制形式
    rb和wb可以更快速的进行文件的传输

    读取内容方式

    f.read() # 一次读取整个文件,文件大不适用
    f.readline() # 一次只读取一行,占内存小,速度慢
    f.readlines() # 一次性读取,将内容分析成一个行的列表,可以由for...in...处理

    写文件方式

    f.write(content) # 不会换行哦
    f.writeline(content) # 下次会写在下一行

    close

    f.close()

    示例:

    f = open('cdays-4-test.txt', 'r')                   #以读方式打开文件 
    result = list() 
    for line in f.readlines():                              #依次读取每行 
        line = line.strip()                                    #去掉每行头尾空白 
        if not len(line) or line.startswith('#'):       #判断是否是空行或注释行 
            continue                                            #是的话,跳过不处理 
        result.append(line)                                #保存 
    result.sort()                                               #排序结果  
    f.close()                     #关闭文件
    with open('new_file.txt','w') as fw:            #with方式不需要再进行close
      fw.write('%s' % '
    '.join(result))     #保存入结果文件

    PS:在做网络抓取的时候,有可能会报:UnicodeEncodeError: 'gbk' codec can't encode character 'xa9' in position 1028898: illegal multibyte sequence

    这个错误是因为系统的编码格式和抓出来的字符串的编码格式不一致导致的,解决方案如下:

    fw = open("D:\test.html","w",encoding='utf-8')

    假设说抓取到的字符串编码格式是utf-8,本机编码格式是gbk,那么在打开(注意是打开)文件的时候要设定一下编码格式哦。

  • 相关阅读:
    C++函数声明与定义
    《寻找发帖“水王”》代码的理解
    将正整数转换为二进制数
    使用Cookie记住登录用户
    Java组合算法
    已知链表头结点指针head,写一个函数把这个链表逆序
    String.IsNullOrEmpty官方示例
    log4net的使用
    asp.net MVC4总结
    点击获取页面上的经纬度
  • 原文地址:https://www.cnblogs.com/wpcnblog/p/8442664.html
Copyright © 2011-2022 走看看