码迷,mamicode.com
首页 > 其他好文 > 详细

第4课:集合、函数、模块

时间:2018-01-09 18:44:24      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:microsoft   sof   mil   blog   class   remove   进制   修改文件   with   

  1. 文件读写:b模式
    import requests
    url = ‘http://www.nnzhp.cn/wp-content/uploads/2018/01/601a335c499837a995ae10867fc36101.png‘
    img = requests.get(url).content
    
    f = open(‘hhh.jpg‘, ‘wb‘)  # bytes:以二进制模式打开,有wb、rb、ab组合
    f.write(img)
    

    拓展:

    f = open(‘a.txt‘,encoding=‘utf-8‘)
    s = ‘dingfei,123456‘
    names = [‘a‘,‘b‘,‘c‘] #
    import time
    f = open(‘haha.txt‘,‘w‘)
    f.write(‘test‘)
    # 不加下面这个这句,有时会在文件中看不到写入的数据,是因为有缓冲区,它会等缓冲区数据存储到一定的值才会写入到磁盘
    f.flush() #立即把缓冲区的内容写到磁盘里面。
    time.sleep(50)
    
    with open(‘b.txt‘) as f,open(‘c.txt‘) as fc:#自动关文件指针;一个with可以打开多个文件,逗号隔开即可。
      f.write(‘aaa‘)
    

      

  2. 修改文件的2种方式:
1)
# 粗暴直接,适用于小文件,内容少
with open(‘geci‘,‘a+‘,encoding=‘utf-8‘) as f:
    f.seek(0)
    all = f.read()
    new_all = all.replace(‘二‘,‘一‘)
    f.seek(0)
    f.truncate()
    f.write(new_all)
    f.flush()

 2)

# 替换一个文件中的内容,直接修改文件不好实现,一般把修改后的文件内容保存到bak文件,删除原来文件,rename bak文件。
# .**文件是隐藏文件
with open(‘geci.txt‘, ‘r+‘, encoding=‘utf-8‘) as f, open(‘.geci.bak‘, ‘w‘, encoding=‘utf-8‘) as ff:
    for i in f:
        newline = i.replace(‘一‘, ‘二‘)
        ff.write(newline)
os.remove(‘geci.txt‘)
os.rename(‘.geci.bak‘, ‘geic.txt‘)
2.
3. 

第4课:集合、函数、模块

标签:microsoft   sof   mil   blog   class   remove   进制   修改文件   with   

原文地址:https://www.cnblogs.com/qiezizi/p/8252526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!