批量删除和复制文件
1.批量删除文件
删除原始文件夹下的pdf
指令os.remove(文件)
import os
import re
#首先定义规则,如我们需要把所有的pdf文件
pattern=re.compile(r'.+.pdf')
for root ,dirs,files in os.walk(r'C:UsersShineionDesktop新建文件夹'):
for name in files:
file_path=os.path.join(root,name)#包含路径的文件
print(file_path)
matching=pattern.search(file_path)#匹配pdf
if matching:
os.remove(file_path)
print('删除成功')
1.批量复制文件
算例:我们将原始文件夹下的PDF复制到新的文件夹:D:测试1
首先 D:测试1 ,需要手动新建
import os
import re
#首先定义规则,如我们需要把所有的pdf文件
pattern=re.compile(r'.+.pdf')
for root ,dirs,files in os.walk(r'C:UsersShineionDesktop新建文件夹'):
for name in files:
file_path=os.path.join(root,name)#包含路径的文件
print(file_path)
matching=pattern.search(file_path)#匹配pdf
if matching:
command_line='copy %s D:测试1' % file_path.replace('/','')
os.system(command_line)
print('复制成功')
os.system(command_line)调用cmd来执行复制文件。
试过几次后,发现有时复制会失败,失败的文件名含有字母。全字母可以。
字符串连接与整数和浮动一样,Python中的字符串可以使用一个+号连接起来
连接字符串时,不管他们是否已经与单或双引号。
>>> "西红柿" + '鸡蛋'
'西红柿鸡蛋'
>>> print("第1个字符串" + ", " + "第2个字符串")
第一个字符串, 第二个字符串
'Hello world'
字符串与其它类型连接
即使字符串包含数字,它们仍然是作为字符串而不是数字添加的。在数字中添加一个字符串会产生一个错误,因为尽管它们看起来很相似,但它们是两个不同的概念。
>>> "4" + "4"
'44'
>>> 5 + '8' + 9 + '14'
TypeError: unsupported operand type(s) for +: 'int' and 'str'
阅读错误信息是程序员一个良好的习惯,以下是翻译(可以跳过阅读,不需要掌握的)
类型错误:不支持 ’整数‘和’字符串‘两种类型操作
typeError 类型错误
unsupported 不支持
operand 操作
type 类型
int 整数
str 字符串
以下哪一行代码产生错误?
A"5" + 'leg'
B 6+ 8
C "olne" + "20"
D '7' + 16
字符串操作字符串也可以用整数相乘。这会让字符串重复。字符串和整数的顺序无关紧要,字符串不能由其他字符串相乘。字符串也不能用浮点数相乘,即使浮点数是整数。
>>> print("spams" * 2)
spamsspams
>>> 5 * '2'
'22222'
>>> '19' * '97'
TypeError: can't multiply sequence by non-int of type 'str'
# 类型错误:字符串不能和非整数类型相乘
>>> 'thonisfun' * 8.0
TypeError: can't multiply sequence by non-int of type 'float'
# 类型错误:浮点数不能和非整数类型相乘
填空 这个代码的输出是什么?
>>> print(5 * '7')
关注公众号,每天可以领红包