zoukankan      html  css  js  c++  java
  • python---文件操作

    学习文件操作

     1 # -*- coding:utf-8 -*-
     2 # LC
     3 
     4 f = open("lyrics","r",encoding="utf-8")           #以utf-8的编码方式打开文件,文件句柄
     5 data = f.read()         #读取文件内容
     6 
     7 f = open("lyrics","w",encoding="utf-8")         #以写的方式打开,且为创建一个文件
     8 f.write("今天上班
    ")
     9 f.write("明天下班
    ")
    10 
    11 f = open("lyrics","a",encoding="utf-8")         #以追加的方式写入,但不能够读取
    12 f.write("追加写入
    ")
    13 
    14 f = open("lyrics","r+",encoding="utf-8")    #以读写的方式打开,即可读,也可写(追加),但写是从文件的最后开始写
    15 print(f.readline())
    16 print(f.readline())
    17 f.write("===================")
    18 f.close()
    19 
    20 f = open("lyrics","w+",encoding="utf-8")    #以写读的方式打开文件,即先创建一个文件,然后可读写,读可以实现位置移动,写是否根据光标需要看版本
    21 f.write("+++---------------------+++
    ")
    22 f.write("+++---------------------+++
    ")
    23 f.write("+++---------------------+++
    ")
    24 print(f.tell())
    25 f.seek(30)
    26 print(f.tell())
    27 f.write("************")
    28 
    29 f = open("lyrics","a+",encoding="utf-8")    #追加读写,原本a是只可追加,不可读,现是可读写的,读默认是在末尾,如果需要从头读,则需要seek(0a)
    30 for line in f:
    31     print(line)
    32 
    33 f = open("lyrics","rb")         #以二进制模式读
    34 print(f.readline())
    35 f = open("lyrics","wb")         #以二进制模式写入
    36 f.write("hello
    ".encode())     #默认是写入字符串,如果是二进制,则需要将字符串转换为二进制格式
    37 
    38 f = open("lyrics","r",encoding="utf-8")
    39 print(f.readline())                           #读取文件中的一行
    40 print(f.readlines())                            #读取整个文件,并将每行作为列表的一个元素存储,只适合读取小文件,大文件会撑爆内存
    41 
    42 f = open("lyrics","r",encoding="utf-8")
    43 for index,line in enumerate(f.readlines()):                  #将文件读取成一个列表,每行是列表的元素,通过赋值line循环
    44     if index == 9:
    45         print("==============================")
    46     print(line.strip())
    47 
    48 
    49 f = open("lyrics","r",encoding="utf-8")
    50 for line in f:                              #将文件中的每一行赋值给line,line为字符串类型
    51     print(line.strip())
    52 
    53 print(f.read(12))               #读取12个字符
    54 print(f.readline())
    55 print(f.tell())             #告知现有光标位置
    56 f.seek(0)               #表示回到文件某个位置
    57 
    58 print(f.encoding)       #表示打开文件的编码方式
    59 print(f.name)           #打印文件名
    60 print(f.seekable())     #判读文件是否可移动,如tty是不可以移动的
    61 print(f.readable())     #判断文件是否可读
    62 print(f.writable())     #判断文件是否可写
    63 print(f.flush())        #强制刷新,默认是内存将数据存在缓存中,然后缓存聚集成一块后再统一刷到硬盘
    64 f.closed                #判读是否关闭
    65 
    66 f = open("lyrics","a",encoding="utf-8")
    67 f.truncate(20)      #表示从文件头截断20个字符,seek无效,都是从头开始截断
    68 
    69 #打印进度条
    70 import sys,time
    71 for i in range(100):                    #打印进度条
    72     sys.stdout.write("!")               #系统标准输出,不会换行
    73     sys.stdout.flush()                  #每打印一个,立即刷新,即从内存中立即刷新
    74     time.sleep(0.1)                     #每个延迟0.1秒
  • 相关阅读:
    SQL 分组 行变列的一个例子
    用JS如何獲得DropDownList所選Text和Value?
    用了.net2.0,再用1.1的问题。1.1里修改.cs文件不重新编译,.dll不重新生成。
    ASP.NET中上传文件
    获得用户控件的值!
    在没有vs2005环境里部署Crystal Reports 10水晶报表
    onkeypress,onkeydown,onkeyup区别
    2012湖南大学第八届程序设计竞赛 Incredible[公式]
    POJ3624 Charm Bracelet[01背包问题入门]
    HDOJ1257 最少拦截系统[DP入门]
  • 原文地址:https://www.cnblogs.com/clv5/p/7056812.html
Copyright © 2011-2022 走看看