1.os常见函数
- 路径
1)绝对路径:文件或者文件夹在计算机中的全路径(windows从盘开始写,而且程序写绝对路径的时候字符串的最前面要加r)
2)相对路径:前提:需要操作的文件或者文件夹在工程里面的时候才可以使用相对路径
a)用 . 开头表示当前目录(当前目录指的是,当前代码文件所在的文件夹),注意:如果相对路径是以’./‘开头的,’./'可以省略
b)用 … 开头表示当前目录的上层目录
- 创建文件夹
# os.mkdir(文件夹路径)
# 注意:创建文件夹的时候,如果文件夹已经存在会报错!
os.mkdir('./names')
os.mkdir('./files/abc')
- 判断文件或者文件夹是否已经存在
# os.path.exists(文件或者文件夹路径)
result = os.path.exists('./files/a')
print(result)
result = os.path.exists('./files/car.png')
print(result)
- 判断是否是文件或者文件夹
# 4. 判断是否是文件或者文件夹
# 1)os.path.isfile(路径) - 判断指定路径对应的内容是否是文件
# 2)os.path.isdir(路径) - 判断指定路径对应的内容是否是文件夹
result = os.path.isfile('./files/test')
print(result)
- 罗列出指定文件夹中所有的内容
# os.listdir(文件夹路径)
content = os.listdir('./files')
print(content)
for name in content:
if os.path.isfile('./files/%s' % (name)):
print(name)
2.批量发送邮件
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart
data1= [
{'name': 'hh', 'email': '#####@163.com', 'score': 400, 'gender': '男'},
{'name': 'ff', 'email': '######@qq.com', 'score': 600, 'gender': '女'}]
# 1.连接服务器
connect = smtplib.SMTP_SSL('smtp.qq.com',465)
# 2.登录邮箱
connect.login('#####@qq.com', '###这里写邮箱码')
# 3.建立空邮件
for i in data1:
email = MIMEMultipart()
# 输入主题
email['Subject'] = Header('这是批量轰炸','utf=8').encode()
# 输入发件人
email['From'] = 're <######@qq.com>'
# 输入收件人
email['To'] = '%s' % i['email']
# 4.输入文本内容
text = MIMEText('这将是一份垃圾邮件','plain','utf-8')
# 将文本赋给邮件
email.attach(text)
# 5.打开附件内容
for name in os.listdir('./names'):
msg = open('./names/' + name, 'rb').read()
# 创建附件对象
msg1 = MIMEText(msg,'base64','utf-8')
# 设置附件的位置和文件格式
msg1['Content-Disposition'] = 'attachment; filename = "%s"' % name
# 将msg1赋给邮件
email.attach(msg1)
connect.sendmail('#####@qq.com', '%s' % i['email'], email.as_string())
# 关闭邮件
connect.quit()