py知识(每日更新) 6.13

文件操作初识

f = open("文件",mode="模式",encoding="编码")

open() #调用操作系统打开文件

mode #对文件的操作方式

encoding #文件的编码

? #不写indocing 默认为系统编码 Windows--gbk

? #linux&mac ----utf-8

f 文件句柄 ---- 操作文件的锅把

文件操作怎么用?

读 r rb r+ r+b

r 读 r+ 读写 #后期开发中使用频率比较低 不能指定编码

w写 w+写读 #写读 不能指定编码

a写 a+写读 #追加写读 不能指定编码

r

r #文件全部读取完以后,再次读取就没有内容
f = open("a",mode="r",encoding="utf-8")
f.read() #全部读取
c1 = f.read(3)  #按照光标读取
    for i in f:
        print(i)    #一行一行读取--防止内存溢出

f.readline()   #读取一行   括号加数则读取到本行前几数字个字
f.readlines()   #读取一行,存储到列表中  /n是换行符
f = open(r"F:\\a\,mode="r",encoding="utf-8")
#        r:原生字符显示  \\转义防止\过多需要转义

# F:\a\111.txt 绝对路径 从磁盘的根处找
# "111.txt"   相对路径 相对于当前文件的路径进行查找的
         import os
         print(os.getcwd())  #查看当前工作路径

rb

f = open("1.jpg",mode="rb")  #rb,wb,ab操作没有编码,不能incoding
f.read()                     #括号中加数字则读字节

写 w(清空写) a(追加写)

f = open("day8",mode = "w", coding = "utf-8")
f.write("123")    # w分为两步 没有文件先创建 然后 清空再重新写
f.close()    #关闭文件   关闭文件后就不能继续读取了
#操作文件的三步
1.打开文件
2.操作文件
3.关闭文件

f = open("a",mode = "w", coding = "gbk")
f.write("啊啊啊,好困啊")   #文件末尾添加

wb

f = open(2.jpg,mode="wb")
f.weite()
#爬虫用

其他操作

tell #查看光标
seek #移动光标 文件开始位置
    seek(0,0) #文件开始位置
    seek(0,1) #光标当前位置 ---- 废物!!!
    seek(0,2) #文件末尾位置
    seek(3)   #按照字节调节   使用utf-8是3 使用gbk是2

另一种打开文件的方式

with open("名称",mode="r",encoding="utf-8") as(作为的意思) f:
    #面向对象中的上下文管理
    f.read()  #会自动关闭文件

with open("名称",mode="r",encoding="utf-8") as(作为的意思) f,open("名称",mode="r",encoding="utf-8") as f1:
    f.read()
    f1.write("真香")  #同时开多个文件

文件的修改

with open("名称",mode="r+",encoding="utf-8") as f:
    content = r.read()
    content = replace("A","a")
    f.seek(0,0)
    f.write(content)

with open("名称",mode="r",encoding="utf-8") as f, open("new名称",mode="a",coding="utf-8") as f1:
        content = i.replace("a","a1")
        f1.write(content)
import os
os.rename("名称")     #源文件没了
os.rename("new名称","名称")

原文地址:https://www.cnblogs.com/lyoko1996/p/11018940.html

时间: 2024-11-09 06:22:06

py知识(每日更新) 6.13的相关文章

py知识(每日更新) 6.18

万能传参 #当给函数传入的参数数目不定时,之前的穿饭餐方式解决不了问题 #万能参数//动态参数*args 将实参角度: 定义一个函数时* 所有位置参数聚合到一个元祖中. # **kwargs 函数定义是:**讲实参角度所有的关键字参数聚合成一个字典 * 的魔性用法: def func(*args,**kwargs): print(args) print(kwatgs) l1 = [1,2,3] l2 = ["阿萨德","去去去"] 函数形参角度的形参顺序 位置参数&

py知识(每日更新) 7.1

包的使用 第一类: ? 执行文件 通过import导入包以及包内的功能 ? 创建一个aaa的包,自行创建一个__init__py文件 ? 创建一个包会发生三件事儿: ? 1.将以XXX包内的__init__py文件加载到内存中 ? 2.创建一个以XXX命名的名称空间. ? 3.通过XXX . 的当时引用__init__的所有的名字. import aaa # 如何在当前文件中,引用aaa包的bbb包? 1.在执行文件写入 import aaa 2. aaa的__init__ 里面写 from a

py知识(每日更新) 7.30

sql语句的分类 sql语句的分类 # DDL : CREATE ALTER DROP # DML : SELECT INSERT DELETE UPDATE # DCL : GRANT REVOKE 常用sql语句 # 库 # create database 库名; # use 库名 # show tables; # 表 # create table 表名(字段名 类型(长度),...); # desc 表名; # show create table 表名; # alter table 表名

py知识(每日更新) 6.5

1整数 int 计算和比较 a.bit_length() #求十进制数转换为二进制时所占用的位数 2布尔值 bool True 真 False 假 数字转成布尔值: 0 False 非0 True 字符串转换成布尔值: 空字符串 "" False 非空 True 布尔值转换成数字 True = 1 False = 0 布尔值转换成字符串 True = str(True) False = str(False) 3字符串 作用:存储少量数据 索引(下标):从左向右 0, 1, 2, 3;;

py知识(每日更新) 7.2

collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和OrderedDict等. 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.deque: 双端队列,可以快速的从另外一侧追加和推出对象 3.Counter: 计数器,主要用来计数 4.OrderedDict: 有序字典 5.defaultdict:

py知识(每日更新) 7.16

socket套接字 五层协议:从传输层包括传输层以下,都是操作系统版主我们封装的各种head 套接字:他存在于传输层与应用层之间的抽象层 ? 1.避免你学习各层的接口以及协议的使用 socket已经封装好了所有的接口.直接使用这这些接口或者方法即可,提升开发效率. ? 2.在Python中socket就是一个模块.通过调用模块中已经实现的方法建立两个进程之间的通信. 单个客户端通讯 # client端 import socket # 1. 创建socket对象 phone = socket.so

py知识(每日更新) 7.12

反射 通过字符串去操作一个对象 字符串: 字符串类型 对象: 实例,类,当前文件(模块),其他模块 hasattr() # getattr() # setattr() # 增 delattr() # 删 函数VS方法 1.通过函数名可以大致判断 print(func) print(obj.func) 2.通过模块types模块去验证 from types import FunctionType from types import MethodType print(isinstance(func,

py知识(每日更新) 7.15

C/S B/S架构 C:client 客户端 B:Browers 浏览器 S:Service 服务端 C/S 客户端与服务器之间的架构 :QQ 微信 APP等 都属于C/S架构 ? 优点:安全性高,个性化设置,功能全面,相应速度快 ? 缺点:开发成本高,维护成本高,面向客户固定 B/S架构属于C/S架构, 浏览器-服务器之间的架构 ? 优点:开发维护成本低,面向用户广泛 ? 缺点: 安全性相对低,响应速度相对较慢,个性化设置单一 互联网通讯的原理 ISO七层协议(五层) ? 1.物理层:一系列的

py知识(每日更新) 7.25

GIL锁. GIL锁: 全局解释器锁. 就是一个把互斥锁,将并发变成串行,同一时刻只能有一个线程使用共享资源,牺牲效率,保证数据安全. 带来的问题1: ? 单进程的多线程不能利用多核. 诟病之一. ? 多进程的多线程可以利用多核. 带来的问题2: ? 感觉上不能并发的执行问题. 讨论: 单核处理IO阻塞的多线程,与多核处理IO阻塞的多线程效率差不多. # 多核的前提下: 如果任务Io密集型: 多线程并发.如果任务计算密集型: 多进程并发. GIL锁与互斥锁的关系. # 1. GIL 自动上锁解锁