python书本--让繁琐工作自动化(拾遗)

在这里插入图片描述
在这里插入图片描述

==判断字符串或者序列里面的值是否相等,is判断对象的地址是否相等

1,条件判断if语句,是可能有一条语句可以执行或者都不执行
2,while循环,不断重复的语句一定要写在循环语句块内
3,如果语句进入了死循环,可以用ctrl+c来停止
4, for i in range(5)其中5是生成从0开始序列的个数,也是循环几次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5,python有自己的内置函数,print() len() 可以直接调用使用,也有一些标准库,需要引入才能使用
在这里插入图片描述
上面的图片说明有误,random.randint(1,10)随机生成整数,包括1和10。
random.randint(1, 10)random.randint(10, 1)不同。函数调用 random.randint(1, 10)将返回 1 到 10 之间的
一个随机整数,因为第一个参数是范围的下界,第二个参数是范围的上界(而random.randint(10, 1)会导致错误)

在这里插入图片描述

6,None是NoneType唯一的值,首字母必须大写,对于所有没有 return 语句的函数定义,Python 都会在末尾加上 return
None。如果使用不带值的 return 语句,那么就返回 None。

7,print()深入了解和关键字参数
在这里插入图片描述

8,定义在函数内的变量,为局部变量,其他的为全局变量。
在这里插入图片描述
1.如果变量在全局作用域中使用(即在所有函数之外),它就总是全局变量。
2.如果在一个函数中,有针对该变量的 global 语句,它就是全局变量。
3.否则,如果该变量用于函数中的赋值语句,它就是局部变量。
4.但是,如果该变量没有用在赋值语句中,它就是全局变量。
在这里插入图片描述

9,异常处理;当我们运行程序时,可能会发生错误,python会报错,后面的程序不会再执行,我们希望python能报错并进行处理,并且继续执行后面的程序,这就需要异常处理了
在这里插入图片描述
在这里插入图片描述

10,下面是列表切片的用法,
在这里插入图片描述
列表的操作,和字符串是一致的
在这里插入图片描述
删除列表中的元素的方法
在这里插入图片描述

列表使用的例子,给自己的很多猫命名,可以使用列表来
在这里插入图片描述
判断一个元素是否在列表中存在,用in 或者 not in
在这里插入图片描述

多重赋值的操作()
在这里插入图片描述

对列表的操作(增删改查)
①查找某个值是否在列表中,在的话就返回下标,不在就报错,如果某个值在列表中有多个,只返回第一个值的下标,使用index()方法
在这里插入图片描述
②给列表添加元素,有两种方法,一种是append(元素值),在列表后面依次添加元素。另一种是插入元素
insert(新元素的下标,新元素),而列表中原来的元素会随之后移。(append()和insert()这两个方法是列表独有的方法)
在这里插入图片描述
③删除列表中的元素有两种,一种是del,是根据下标来删除 del arr[2] ,而remove是根据元素名来删除,如果元素在列表里出现多次,只会删除第一次出现的值
在这里插入图片描述

④sort()函数,来排序列表,只能对元素是数值或者字符串的排序,列表里既有字符串又有数字的不能排序,字符串列表排序按照ascii码来排的
在这里插入图片描述
在这里插入图片描述

11,可变变量和引用变量
在这里插入图片描述

列表和字典的不同,
列表有顺序,字典没有顺序,比较两个列表是否相同,值相等,顺序也要一致,字典就不用这样
在这里插入图片描述
因为字典是不排序的,所以不能像列表那样切片。

在这里插入图片描述
values() 返回的字典的值的假列表,如果想得到真列表,可以用list()转化, keys()返回的是字典的键的假列表,一样用list()可以转为真列表,.items() 可以获得键值对的列表,每一个元素都是一个键值对的元组
在这里插入图片描述

当我们想取得字典里的值时,先要判断字典中是否有这个键,然后才能根据键来取值,否则根据一个键直接取值,如果键不存在就会报错,python为字典提供了get()方法,他有两个参数,第一个是键,第二个是如果字典里面没有这个键时,会提供这个默认的值
在这里插入图片描述

python也提供了一种方法,检查字典中有没有这个键,有就返回值,没有就把这个键对应的值设置入字典
在这里插入图片描述

字符串的操作
1,upper()lower()字符串方法返回一个新字符串,其中原字符串的所有字母都被相应地转换为大写或小写。字符串中非字母字符保持不变。
2,isupper()islower()判断字符串中所有的字母是否都是大写或者都是小写,返回bool值
3,isalnum()返回 True,如果字符串只包含字母和数字,并且非空; isdecimal()返回 True,如果字符串只包含数字字符,并且非空;
4,join()和 split() ,都是字符串调用他们,join() 传入的是列表参数,返回的是字符串,分隔符是调用它的那个字符串,split()正好相反,返回的是列表,是以调用他的那个字符串作为分割
在这里插入图片描述
在这里插入图片描述
5,strip()去掉字符串中所有空格、rstrip() 去掉字符串中尾部的空格和 lstrip() 去掉字符串中头部的空格

正则表达式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
^符号用在[]中括号内部,表示取反,而不用再中括号里面,表示从开头取值
在这里插入图片描述
^和 连 用 , 匹 配 的 是 整 个 字 符 串 , 只 匹 配 字 符 串 的 某 个 子 集 是 没 有 用 的 ; 如 果 使 用 了 和 连用,匹配的是整个字符串,只匹配字符串的某个子集是没有用的;如果使用了^和 使,那么整个字符串必须匹配该正则表达式

在这里插入图片描述

复习
在这里插入图片描述

文件操作(需要引入os)
1,在window下面,文件目录分割符用的是反斜杠,所以’c:\my\dfd\fdj\conut’ ,既然分隔符是反斜杠,为什么加两个反斜杠呢?因为 反斜杠还有转义字符的意思,所以加两个是转为真正的反斜杠
os.path.join('C:\\Users\\asweigart', filename) 是拼接字符串,返回一个完整的路径字符串

1.2,os.getcwd() 获得当前文件的路径, os.chdir('C:\\Windows\\System32') 更改当前文件的路径为
在这里插入图片描述

2,文件目录 一个点.代表当前的文件,两个点代表父文件夹
在这里插入图片描述

操作文件和路径的方法
1, os.makedirs('C:\\delicious\\walnut\\waffles') 创建文件夹和路径,字符串里面的文件夹,没有的话就全部创建
2,os.path.join() 用来拼接路径字符串
在这里插入图片描述
3,os.path.abspath(path) 将传入的路径转为绝对路径(返回绝对路径字符串);os.path.isabs(path) 判断给的路径是否是绝对路径,如果是返回True,不是返回False。os.path.relpath(路径1, 路径2) 返回从路径2到路径1的相对路径字符串。(也就是从路径2的位置,找到路径1里面的文件)
在这里插入图片描述

4,os.path.dirname(path) 返回文件路径字符串,os.path.basename(path) 返回文件名字符串
在这里插入图片描述
在这里插入图片描述

5,os.path.getsize(path)查看文件的字节数,os.listdir(path) 查看文件夹下面所有的文件名,返回文件名组成的列表
在这里插入图片描述

6, os.path.split(文件路径),返回一个文件路径和文件分离的字符串元组
在这里插入图片描述
os.path.splitext(文件路径),返回一个文件路径和文件扩展名的字符串元组,(这个可以拿到点 .扩展名)

7,os.path.exists(文件路径) 如何这个文件或者文件夹存在,返回True 否则返回False
os.path.isfile(文件路径) 如果这是一个文件,并且存在,返会true
os.path.isdir(path) 如果文件是一个文件夹,并且存在,返回True

操作文件
1,打开文件,file=open('/Users/asweigart/hello.txt', 'r') 打开文件,并读取返回一个文件对象,如果要读,可以调用.read()函数,如果要写可以调用.write()函数,或者调用readlines()方法,返回一个列表,列表的每一个元素都是文件的一行内容
2,如果传递给 open()的文件名不存在,写模式 r 和添加模式 a 都会创建一个新的空文件。在读取或写入文件后,调用 close()方法,然后才能再次打开该文件。

对文件的移动 复制 删除等操作(需要借助shutil模块里面的函数,所以需要引入这个模块)
1,复制文件到新的目录里面 shutil.copy(source, destination) 第一个参数是原目录文件,第二个参数是新的文件夹目录(目的地),
在这里插入图片描述
2,上面的copy()只是把一个文件移动到新的路径文件夹内,而shutil.copytree(source, destination)是将这个文件夹内所有的文件和文件夹(及文件夹下面的所有子文件(包括文件夹文件))复制到新的文件夹内
在这里插入图片描述

3,移动(移动和复制不一样,复制是保留原来的文件,移动是把文件搬移到其他目录,删除原来的路径里的文件)
shutil.move(source, destination) 就是移动文件,如果第二个参数是一个文件夹,就是把第一个参数文件移动到第二个文件夹内(并且第二个参数文件夹里面有文件,这些文件就会被覆盖掉,要小心)。如果第二个参数也是文件,就是把第一个文件移动到第二个文件所在的文件夹内,并改名为第二个参数的文件名,删除原来的文件。
在这里插入图片描述

4,删除文件和文件夹
os.unlink(path) 删除文件 os.rmdir(path) 只能删除空的文件夹 shutil.rmtree(path) 删除文件夹及其下面的所有文件
Python 内建的 shutil.rmtree()函数不可恢复地删除文件和文件夹。使用第三方的 send2trash 模块,它会将文件夹和
文件发送到计算机的垃圾箱或回收站,而不是永久删除它们。
在这里插入图片描述

遍历一个文件夹下面的所有的文件夹和文件
在这里插入图片描述
在这里插入图片描述
folderName是每一个文件夹,代指当前需要遍历的文件夹
subolders是上面folderName文件夹下面的所有子文件夹组成的列表
filenames是上面folderName文件夹下面所有子文件组成的列表
在这里插入图片描述

解压缩文件
在这里插入图片描述
在这里插入图片描述
需要引入zipfile模块

ZipFile 对象的 extractall()方法从 ZIP 文件中解压缩所有文件和文件夹
在这里插入图片描述

在这里插入图片描述

下面是添加压缩文件
在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值