python的基础使用模块

一、模块导入与包

import sys
import os
print("打印当前脚本文件路径:",__file__)

print("dirname只保留目录名:",os.path.dirname(__file__))
base_path = os.path.dirname(os.path.dirname(__file__))

sys.path.append(base_path)

import first_mode

在这里插入图片描述

二、os和sys

2.1、os模块

1、得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()
2、返回指定目录下的所有文件和目录名: os.listdir()
3、用来删除一个文件: os.remove()
4、删除多个目录: os.removedirs (r"c : \python" )
5、检验给出的路径是否是一个文件: os.path.isfile(名称)
6、检验给出的路径是否是一个目录: os.path.isdir(名称)
7、检验给出的路径是否真的存在: os.path.exists(名称)
8、获取路径名: os.path.dirname(path)
9、获得绝对路径: os.path.abspath(path)
10、获取文件名: os.path.basename(path)
11、运行shell命令: os.system()
12、重命名: os.rename(old,new)
13、创建多级目录: os.makedirs ( r“c : \python\test" )
14、创建单个目录: os.mkdir ( "test" )
15、获取文件属性: os.stat ( file )
16、获取文件大小: os.path.getsize ( filename )

2.2、sys模块

1、获取系统环境变量: sys.path
2、获取脚本的参数: sys.argv

三、时间模块

time模块

我们写程序时对时间的处理可以归为以下3种:
时间的显示,在屏幕显示、记录日志等
时间的转换,比如把字符串格式的日期转成Python中的日期类型
时间的运算,计算两个日期间的差值等
在Python中, 通常有这几种方式来表示时间:
1.时间戳(timestamp) , 表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。例子: 1554864776.161901
2.格式化的时间字符串,比如"2020-10-03 17:54"
3.元组(struct_time) 共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同,
mac.上: time.struct_time(tm_year=2020, tm_mon=4, tm_mday=10, tm_hour=2, tm_min=53, tm_sec=15,tm_wday=2, tm_yday=100, tm_isdst=0)

索引(Index)		属性(Attribute)(values)
0				tm_year ()			比如2011
1				tm_mon ()				1-12
2				tm_mday ()			1-31
3				tm_hour ()			0-23
4				tm_min ()				0-59
5				tm_sec ()				0-59
6				tm_wday(weekday)		0-6(0表示周一)
7				tmyday(一年中的第几天)	1-366
8				tm_isdst (是否是夏令时)	默认为-1

UTC时间
UTC (Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8,又 称东8区。DST (Daylight Saving Time)即夏令时。

time模块常用方法
1、返回当前时间戳: time.time()
2、将一个时间戳转换为当前时区的struct_time。若secs参数未提供,则以当前时间为准: time.localtime( [secs] )
3、gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time: time.gmtime([secs])
4、将一个时间对象(struct_time)转换为时间戳: time.mktime(t)
5、线程推迟指定的时间运行,单位为秒:time.sleep(secs)
6、time.strftime (format[ , t]): 把一个代表时间的元组或者struct. time (如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime)。
举例:
time.strftime(“%Y-%m-%d %X”,time.localtime()) #输出’2017-10-01 12:14:23’
7、time.strptime(string[, format]): 把一个格式化时间字符串转化为struct_time。 实际上它和strftime()是逆操作。
举例:
time.strptime( “2017-10-3 17:54”,“%Y-%m-%d %H:%M”) #输出
time.struct_time(tm_year=2017, tm_mon=10, tm._mday=3, tm_hour=17, tm_min=54, tm_sec=0,tm_wday=1, tm_yday=276, tm_isdst=-1)

datetime模块

1、返回当前的datetime日期类型:datetime.datetime.now()
2、把一个时间戳转为datetime:datetime.date.fromtimestamp(322222)
3、时间运算: datetime.timedelta()
例:

#当前的时间上增加4天和4个小时,默认增加的是天数
datetime.datetime.now() + datetime.timedelta(4,hours=4)

4、时间替换
例:

#把时间往后调100年
d=datetime.datetime.now()
d.replace(year=2120,month=9,day=9)

四、random随机数

import random

#返回1-10之间的一个随机数,不包括10
random.randrange(1,10)
  
#返回1-10之间的一个随机数,包括10
random.randint(1,10) 
   
#随机选取0到100间的偶数
random.randrange(1,100,2) 
 
#返回一个随机浮点数
random.random()         

#返回一个给定数据集合中的随机字符 '#'
random.choice('abce3#$@1') 

#从多个字符中选取特定数量的字符 ['a','d','c']
random.sample('abcdefghij',3) 

#生成随机字符串
import string
''.join(random.sample(string.ascii_lowercase + string.digits, 6))

#洗牌(打乱列表里的数据)
a=[0,1,2,3,4,5,6,7,8,9]
random.shuffle(a)

五、python发送邮件

5.1、发送一封最简单的邮件

SMTP称为简单邮件传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效、可靠的邮件传输。它的一个重要特点是**它能够在传送中接力传送邮件**,即邮件可以通过不同网络上的主机接力式传送。通常它工作在两种情况下:一是邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。SMTP是一个请求/响应协议,它监听25号端口,用于接收用户的Mail请求,并与远端Mail服务器建立SMTP连接。

想实现发送邮件需经过以下几步:
1、登录邮件服务器
2、构造符合邮件协议规则要求的邮件内容(email模块)
3、发送

Python对SMTP支持有smtplib和email两个模块,email 负责构造邮件,smtplib 负责发送邮件它对smtp协议进行了简单的封装。

设置邮箱
1、登录邮箱
在这里插入图片描述
2、往下翻到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启之后有临时密码,复制一下,填写到 smtp_obj.login("发送者邮箱","邮箱临时密码")
在这里插入图片描述
4、第四步之后,往下翻,可以看到接收、发送邮件服务器
在这里插入图片描述

import smtplib
from email.mime.text import MIMEText    #邮件正文
from email.header import Header     #邮件头

'''------------登录邮件服务器--------------------'''
#发件人邮箱中的SMTP服务器,默认端口号是25(因为传输的时候是明文的)
#SSL 是经过加密的 端口号有所改变
smtp_obj=smtplib.SMTP_SSL("smtp.qq.com",465)

#括号中对应的是发件人邮箱账号、邮箱密码
smtp_obj.login("发送者邮箱","邮箱临时密码")

#显示调试信息
smtp_obj.set_debuglevel(1)

'''------------设置邮件头信息--------------------'''
# plain 文本格式
msg = MIMEText("文本信息","plain","utf-8")
#发送者
msg["From"] = Header("来自娜美的问候","utf-8")
#接收者
msg["To"] = Header("有缘人","utf-8")
#主题
msg["Subject"] = Header("娜美的信","utf-8")

'''----------------------发送--------------------'''
smtp_obj.sendmail("发送者邮箱",["接收者邮箱1","接收者邮箱2"],msg.as_string())

5.2、发送HTML格式的邮箱,在邮件中带图片

import smtplib
from email.mime.text import MIMEText    #邮件正文
from email.header import Header     #邮件头

'''------------登录邮件服务器--------------------'''
#发件人邮箱中的SMTP服务器,默认端口号是25(因为传输的时候是明文的)
#SSL 是经过加密的 端口号有所改变
smtp_obj=smtplib.SMTP_SSL("smtp.qq.com",465)

#括号中对应的是发件人邮箱账号、邮箱密码
smtp_obj.login("发送者邮箱","邮箱临时密码")

#显示调试信息
smtp_obj.set_debuglevel(1)

'''------------设置邮件头信息--------------------'''
# html文本格式
mail_body='''
    <h5>hello</h5>
    <p>
        不错不错。。。<a href="https://img2.baidu.com/it/u=2308787300,1509010554&fm=253&fmt=auto&app=138&f=JPEG?w=377&h=254">哈士奇</a>
    </p>
'''
msg = MIMEText(mail_body,"html","utf-8")
#发送者
msg["From"] = Header("来自娜美的问候","utf-8")
#接收者
msg["To"] = Header("有缘人","utf-8")
#主题
msg["Subject"] = Header("娜美的信","utf-8")

'''----------------------发送--------------------'''
smtp_obj.sendmail("发送者邮箱",["接收者邮箱1","接收者邮箱2"],msg.as_string())

请添加图片描述
请添加图片描述
请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值