zoukankan      html  css  js  c++  java
  • 【python】学习笔记2-文件处理

    1、文件操作

     1 # 文件读写
     2 # http://www.nnzhp.cn/archives/160
     3 # # 打开,读取,写,关闭
     4 f=open('cm','r+',encoding='utf-8')#打开文件,默认gbk,所以需要转码
     5 # f.close() #一旦打开必须关闭
     6 
     7 # 文件打开三种方式,读 写 追加 r w a
     8 # 读 r 不指定时默认为读
     9 # 读写 r+ 只要有r,文件不存在都会报错
    10 # 写 w
    11 # 写读 w+ 只要有w,文件内容就会清空
    12 # 追加 a
    13 # 追加读写 a+ 打开文件直接读取的话,读取不到,文件指针在最后,需要用seek
    14 
    15 # seek(0)移动文件指针的位置,读取所有行的内容,注意文件指针的位置,是在哪里,才从哪里读取
    16 f.seek(0) #seek追加的时候,只对读好使,对写不好使
    17 print(f.read())#读取所有内容
    18 print(f.readline())# 只读取一行的内容
    19 print(f.readlines())#读取所有内容,把文件里面每一行的内容放到一个list里面
    20 
    21 #
    22 ## write不支持数组的写,而writelines支持
    23 names =['cm1','cm2','cm3']
    24 names1 =('cm1','cm2','cm3')
    25 names2 ="'cm1','cm2','cm3'"
    26 # f.write(names) 会报错,不支持数组的写
    27 f.writelines(names)
    28 f.writelines(names1)
    29 f.writelines(names2)
    30 
    31 # # 清空文件内容
    32 # f.seek(0)
    33 # f.truncate()
    34 
    35 # f.tell()告诉指针所在的位置
    36 f.writelines(names)
    37 print(f.tell())
    38 f.close()

     2、flush rb wb ab

     1 #
     2 #  f.flush() #立即刷新函数,有时候write写不进去,需要立即把缓冲区的内容写到磁盘里,flush
     3 # f = open('cm.txt', 'w', encoding='utf-8')
     4 # f.write('sss')
     5 
     6 # # 用with自动管理文件,一旦不用文件的话,可以自动给关闭,不用写close关闭
     7 # with open('cm.txt','w') as cmf:
     8 #     cmf.write("hahaha")
     9 
    10 # # with 可以同时打开多个文件,用,隔开   weishenm?
    11 # with open('cm.txt','w',encoding='utf-8') as f1,open('cm1.txt','w', encoding='utf-8') as f2:
    12 #     f1.write("啊啊啊啊啊啊啊啊啊")
    13 #     f2.write("啊啊啊啊啊啊啊啊啊")
    14 
    15 # rb 以二进制模式打开
    16 # wb 以二进制模式写
    17 # ab 以二进制模式追加
    18 
    19 #更换图片
    20 import requests
    21 url='https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1515587533566&di=b738787410ea4a2ffd910a3d75c1a0d3&imgtype=0&src=http%3A%2F%2Fimg.article.pchome.net%2F00%2F42%2F98%2F62%2Fpic_lib%2Fs960x639%2Fhbtb%2520%252811%2529s960x639.JPG'          #图片的地址
    22 img=requests.get(url).content
    23 f=open('postman.png','wb')
    24 f.write(img)

     3、修改文本内容

     1 # 修改文本内容,方法1
     2 with open('geci.txt','a+',encoding='utf-8') as f:
     3     f.seek(0)
     4     all = f.read()
     5     newall = all.replace('','')
     6     f.seek(0)
     7     f.truncate()
     8     f.write(newall)
     9     f.flush()
    10 
    11 # 修改文档内容方法2:像excel或者其他修改文件的操作,基本是这么处理
    12 import os #os模块包含普遍的操作系统功能
    13 with open('geci.txt','a+',encoding='utf-8') as f , open('geci.bak','w+',encoding='utf-8') as f2:
    14     f.seek(0)
    15     for line in f:
    16         newline = line.replace('','')
    17         f2.write(newline)
    18 os.remove('geci.txt')
    19 os.rename('geci.bak','geci.txt')
  • 相关阅读:
    如何将自己的镜像上传到私库
    基于spring-cloud的微服务(1) 服务注册中心eureka
    关于对象池技术的一些记录
    为Docker容器中运行的gitlab添加ssh的一些问题记录
    使用java实现的socket代理(支持socket4和socket5)
    ConfluenceRemoteUserAuth
    JiraRemoteUserAuth
    Apache 的mod_auth_cas模块的介绍和使用
    基于乌班图的标准镜像添加中文支持
    apache反向代解决绝对路径可能出现的问题
  • 原文地址:https://www.cnblogs.com/amengmeng/p/8207359.html
Copyright © 2011-2022 走看看