• File文件操作


    1、文件操作
        读取文件
            f=open("yesterday",encoding="utf-8")#f就是内存对象
            data=f.read()
        写入文件
            write("文件内容!")
            f.readlines 读取文件成为一个列表,每行作为一个元素
        [读-写]文件
            f=open("yesterday","r+",encoding="utf-8")
        [写-读]文件
            f=open("yesterday","w+",encoding="utf-8")
    文件句柄,二进制文件rb/wb模式,以二进制编码,看到的不是0101010 f=open("yesterday","rb")#不要指定encoding f=open("yesterday","wb")#不要指定encoding #字符串不转码是无法写入文件的 f.write("hello binary ".encode()) f.close
    打印文件指定行-适合小文件,比较low的写法   for index,line in enumerate(f.readlines()):   prin(line.strip())   if index==9:   print("----")   continue
    大文件操作 比较high的高效的写法 迭代器、边读取边写入,缓冲区保留一行 count=0 for line in f: if count==9: print(line) count+=1 continue print(line)
    打印指针位置 print(f.tell())#按字符计数
    指针回到指定未知 f.seek(0) #回到文件的初始位置
    打印文件的编码 print(f.encoding)
    处理异常 print(f.errors)
    打印文件名称 print(f.name)
    判断光标是否可以移动 print(f.seekable)
    将缓冲区文件刷新到硬盘 #f.flush() f.write("hello")#此处内容未写入文件 f.flush()#已经刷入硬盘
    打印进度条,flush缓存实时刷新 import time,sys for i in range(100): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.1)
    快速清空文件truncate f.truncate()#清空所有文件,截断所有内容 f.truncate(10)#从第10个字符开始截断 文件修改操作: f1=open("yesterday","r",encoding="utf-8") f2=open("yesterday","w",encoding="utf-8") for line in f1: if "ddd" in line: line=line.replace("ddd","ccc") f2.write(line)
    系统参数替换,两个参数赋值 str1=sys.argv[1] str2=sys.argv[2]
    with语句操作文件,自动关闭文件 with open('logfile','r') as f: for line in f: print(line) 2、字符编码与转码 Unicode 万国码,显示全球各个国家的字符,每个字符均占位2个字节16bit 为了解决浪费空间的问题出现了utf-8 utf-8:所有英文字符占一个字节,所有中文占三个字节
    3、函数详解 **kwargs 接受N个关键字参数,转换成字典的方式传入 *args 接受N个位置参数,转换成元组的形式传入,无法接受关键字参数 #函数跟过程的区别就是是否有返回值,过程就是没有返回值的函数 关键字参数不能写在位置参数前面。 def test1(x): '''函数描述,讲清楚函数是干什么的''' pass 位置参数、关键字参数、默认参数 def test3(name,*args,**kwargs): print(name) print(args) print(kwargs) 局部变量、全局变量: 全局变量声明,global param 递归函数:一个函数在内部自己调用自己 #Python最大递归次数999 特性: 1、必须有明确的结束条件 2、每次进入更深一层递归时,问题规模应比上次递归都应有所减少 3、效率比较低 #自己调用自己,每次除以2 def calc(n): print(n) return calc(n/2) 函数式编程: 例子:函数嵌套函数:concat(left(right(n,2),2),2) 高阶函数:一个函数可以接受另一个函数作为自己的变量,那么这个函数就是高阶函数 def add(a,b,f): return f(a)+f(b) res=add(3,-6,abs) print(res) 总结:集合,字典,文件操作,字符编码,函数式编程,局部变量、全局变量、递归、高阶函数作业 字符串转成字典: b='''{'age':10}''' eval(b)
  • 相关阅读:
    常见的 常见的 User_Agent
    scp 传送数据的几种方式
    最近面试的几个问题 (三) io 多路复用
    mac 磁盘分区 时间胶囊创建失败
    最近面试的几个问题 (二) request_url 去重之布隆去重
    最近面试的几个问题 (一) 进程和线程、协程的区别
    chromedriver与chrome最新版本对应表 转自-河岸上的酸菜鱼 简书地址-https://www.jianshu.com/u/bbea92f78aca
    Sql代码美化工具:Sql Pretty Printer for SSMS V3.6.1
    如何给非理科生讲明白什么是云计算、大数椐(下)
    如何给非理科生讲明白什么是云计算、大数椐(上)
  • 原文地址:https://www.cnblogs.com/wcin/p/8906065.html
Copyright © 2020-2023  润新知