• python学习day6(文件操作一:简单的读写)


    #文件(记住每次操作都要关闭文件.close())
    #简单的读取操作
    data=open("YESTERDAY").read()    #打开文件读出整个文件的内容
    print(data)
    如果报错GBK,则修改为data=open("YESTERDAY",coding="utf-8").read()
    
    #文件操作
    # -*-coding:utf-8 -*-
    '''data=open("YESTERDAY").read()    #打开文件(若文件不存在,自动创建一个新的文件)
    print(data)
    '''
    #读文件(此时相当于把整个文件已经读到内存中了)
    f = open("YESTERDAY",'r')  #文件句柄(简单记为文件对象)
    data=f.read()
    print(data)
    '''data2=f.read()
    print(data2)     #此时data2变量没有输出,理解为文件指针停留在第一个变量读取完文件后停留在末尾,
                     #data2读取的时候并没有回到文件的最开始位置,所以读不到文件内容
    '''
    
    #写'w',创建一个文件,覆盖原来存在的文件
    f = open("YESTERDAY2",'w')
    f.write("这是我啊
    ")
    f.write("sss
    ")
    f.close()
    
    #a=append写的时候是追加到文件末尾的方式
    f = open("YESTERDAY2",'a')
    f.write("四十四")
    f.close()
    
    
    
    #指定行数输出文件内容
    #readline() 输出一行文件内容
    f = open("YESTERDAY",'r')
    print(f.readline())     #每次读一行
    for i in range(5):     #用for循环读取前5行
        print(f.readline())
    #readlines() 将文件内容转换为列表形式
    f = open("YESTERDAY",'r')    
    for index,line in enumerate(f.readlines()):     #用enumerate给予下标,并第十行不打印文件内容
        if index==9:
            print("-------------")
            continue
        print(line.strip())                #strip是清除默认换行
        
        
        
    #内存中每次只存在文件中的一行数据(较为高效的方法)(较为常用)
    count=0
    f=open("YESTERDAY",'r')
    for line in f:          #f相当于迭代器
        if count==9:
            print("-------")
            count+=1
            continue
        print(line.strip())
        count+=1
    
    
    
    
    
    #tell()获取当前文件指针位置(以字符计数的方式返回字符数)
    #f.seek()将文件指针移到某处,括号中可以填写字符数,表示将指针移到指定字符数处
    f=open("YESTERDAY",'r')
    print(f.tell())    #此时输出到屏幕是0
    print(f.readline())
    print(f.tell())    #此时值不为0
    f.seek(0)          #将文件指针移到文件首处
    print(f.readline())
    '''此时文件又可以进行第二次读,若没有seek()函数,
    第二次读出的是空内容,因为文件指针在进行第一次读完后位于文件末尾处了。
    '''
    
    
    
    #f.encoding   查看文件编码格式
    
    
    
    
    #f.flush()    实时刷新文件数据到硬盘上
    
    #f.truncate(10) 无论是否有seek()或者任意的文件指针的位置,规定从文件开头截断到指定字符数,
  • 相关阅读:
    POJ
    POJ 3268 Silver Cow Party
    POJ 3046
    HDU 2089
    MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件
    研发产品经理培训什么?(摘抄)
    设计模式简要分析说明与归纳总结
    设计模式(十四)模板方法模式(Template Pattern)
    设计模式(十三)代理模式(Proxy Pattern)
    设计模式(十二)享元模式(Flyweight Pattern)
  • 原文地址:https://www.cnblogs.com/god-for-speed/p/10994461.html
Copyright © 2020-2023  润新知