zoukankan      html  css  js  c++  java
  • 【文件操作】

    #文件操作
        文件操作模式
        r:只读
            f = open("小重山","r",encoding="utf-8")
            f.read() #按字符读
            
            f.readline() #按行读取,光标发生位置变化,读取的最后位置
            f.readline()
            
            f.readlines() #读取全部文件,光标发生位置变化,读取的最后位置
        w:只写
            f = open("小重山","w",encoding="utf-8")
            f.write()  #先清空文件再写
        a:追加
            f = open("小重山","a",encoding="utf-8")
            f.append("hah ") #默认写到最后,光标在最后,不清空内容
         
    
        f.close()  #open 和 close成对出现,打开再关闭,不关闭数据存在缓存里
        
        truncate(): #截断数据
            r模式:无法截断,只读模式
            w模式: 先清空,清空后没内容,截断无效
            a模式:截断指定位置后的内容
        
        r+: 读写模式
            先读,读取完成后再写,光标默认在0位置,最后位置开始写
        w+: 写读模式
            先清空文件再写,写完可读取
        a+: 追加读取模式
            先追加内容,然后可以读取,光标默认在最后位置
        
        with:   #同时管理多个文件对象
        
            with open("file1","r") as f_read,open("file2","w") as f_write:
            
    【例子】
    #迭代器
    number = 0
    for i in f: #将f做成一个迭代器,用一行取一行取完为止
        number += 1
        if number == 6:
            i = "".join([i.strip(),"xinjiadeneirong"]) #取代加号
            print(i.strip())
        print(i.strip())
    
    #优化版
    number = 0
    for i in f :
        if number == 6:
            i = "".join([i.strip(),'xinjiadeneirong'])
        print(i.strip())
        
        
    #进度条
    import sys,time
    
    for i in range(30):
        sys.stdout.write("*") 
        sys.stdout.flush() #实时存储到硬盘
        time.sleep(0.1)  #等待0.1秒返回执行结果
    
    #如何在磁盘修改文件
    
        #常规思路,存储机制限制
        number = 0 
        for line in f:
            number +=1
            if number == 3:
                f.while('alex') #只是先写到缓存里,不能实现在硬盘读写
                
        #再新建一个文件,一个读,一个写
        with open("小重山","r",encoding="utf-8") as f_read,open("小重山2","w",encoding="utf-8")
        
        number = 0 
        for line in f_read:
            number += 1
            if number == 5:
                line="".join([line.strip(),"alex
    "])
            f_write.write(line)
        
    
    #作业涉及
     
    a = str({"beijing":{"1":111}}) #转换为字符串类型
    print(a)
    a =eval(a) #转换回原来的类型 
    人生短短数十载,经不起几次重头再来
  • 相关阅读:
    es6学习笔记
    vue.js项目目录结构说明
    js 数组操作总结
    js 数组去重方法
    HTTP协议三次握手过程
    MVC与MVVM模式对比
    谱面编辑器
    LL谱面分析和难度标定
    SLP的模块结构
    LL基本姿势
  • 原文地址:https://www.cnblogs.com/bk770466199/p/5811369.html
Copyright © 2011-2022 走看看