一、日期和时间模块time、datetime
time模块
语法 | 描述 | 实例 | 实例结果 |
---|---|---|---|
time.time() | 返回当前时间戳 | time.time() | 1564921721.542928 |
time.ctime() | 返回易于理解的直观时间 | time.ctime() | ‘Sun Aug 4 20:40:17 2020’ |
time.localtime() | UTC格式当前时间 | time.localtime() | time.struct_time(tm_year=2021, tm_mon=2, tm_mday=22, tm_hour=9, tm_min=57, tm_sec=15, tm_wday=0, tm_yday=53, tm_isdst=0) |
time.strftime() | 格式化时间 | time.strftime("%y %b %d %H:%H:%d",time.localtime()) | 21 Feb 22 10:10:22 |
time.sleep(time) | 进程休眠 | time.sleep(5) | 进程休眠5秒再运行 |
datetime模块
语法 | 描述 | 实例 | 实例结果 |
---|---|---|---|
datetime.now() | 返回当前时间 | print(datetime.now()) | 2021-02-22 10:09:46.925866 |
datetime.fromtimestamp() | 将时间戳转换成datetime类型 | print(datetime.fromtimestamp(time.time())) | 2021-02-22 10:12:54.685819 |
datetime.strftime(format) | datetime转字符串 | print(datetime.now().strftime("%Y-%m-%d, %H:%M:%S")) | 2021-02-22, 10:21:48 |
datetime.strptime(str,format) | 字符串转datetime | print(datetime.strptime(‘2021-02-22’,’%Y-%m-%d’)) | 2021-02-22 00:00:00 |
datetime.timestamp() | datetime转时间戳 | print(datetime.now().timestamp()) | 1613960853.46707 |
二、文件和目录模块os
os模块是Python的一个标准库,拥有丰富的处理文件和目录的方法。
语法 | 描述 | 实例 | 实例结果 |
---|---|---|---|
os.getcwd() | 返回当前工作的目录 | print(os.getcwd()) | E:\Users\PycharmProjects\TimeSheet\TestCase |
os.listdir() | 返回指定目录下所有的文件和目录名 | print(os.listdir()) | [‘report.html’, ‘report_CSDN.html’, ‘TestCase_Login.py’, ‘TestSuit.py’, ‘init.py’, ‘pycache’] |
os.mkdir(path) | 创建目录 | os.mkdir(“E:\py”) | 创建目录 |
os.rmdir(file) | 删除指定目录 | os.rmdir(“E:\py”) | 删除目录 |
os.remove(file) | 删除指定文件 | os.remove(“G:…\create.sql”) | 删除create.sql文件 |
os.path.exists(file) | 检查指定对象是否存在 | print(os.path.exists(“E:\Py”)) | False |
os.path.join(path,fileName) | 连接目录和文件名 | print(os.path.join(“G:\BaiduNetdiskDownload\数据库day01\3-视频”,“9-windows中客户端连接服务端.mp4”)) | G:\BaiduNetdiskDownload\数据库day01-视频\9-windows中客户端连接服务端.mp4 |
os.rename(oldName,newName) | 重命名文件 | os.rename(“E:\py.py”,“py1.py”) | py.py文件被重命名为py1.py |
三、系统功能模块sys
输入[e for e in dir(sys) if not e.startswith('_')]可获得sys模块中的全部成员
[e for e in dir(sys) if not e.startswith('_')]
['addaudithook', 'api_version', 'argv', 'audit', 'base_exec_prefix', 'base_prefix', 'breakpointhook', 'builtin_module_names', 'byteorder', 'call_tracing', 'copyright', 'displayhook', 'dllhandle', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'get_asyncgen_hooks', 'get_coroutine_origin_tracking_depth', 'getallocatedblocks', 'getdefaultencoding', 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettrace', 'getwindowsversion', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'is_finalizing', 'last_traceback', 'last_type', 'last_value', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'platlibdir', 'prefix', 'ps1', 'ps2', 'pycache_prefix', 'set_asyncgen_hooks', 'set_coroutine_origin_tracking_depth', 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout', 'thread_info', 'unraisablehook', 'version', 'version_info', 'warnoptions', 'winver']
常用方法:
1、sys.argv:获取运行python程序的命令行参数;
2、sys.path:一个字符串列表,指定模块的搜索路径;
3、sys.modules:返回模块名和载入模块对应关系的字典;
4、sys.exit([args]):退出Python;
5、sys.getdefaultencoding():获取系统当前编码;
6、sys.maxsize:返回Python支持的整数最大值;
7、sys.version:返回当前Python解释器的版本信息;
8、sys.copyright:返回与Python解释器有关的版权信息;
9、sys.platform:返回当前操作系统平台;
四、导入第三方模块pip
pip是Python包管理工具,主要功能是查找、下载、安装、卸载Python包。pip一般会放在Python的安装包中,在Python编译器中的Scripts目录下,如果没有则需要安装。
五、邮件模块smtplib
smtplib模块是关于SMTP(简单邮件传输协议)的操作模块,在发送邮件的过程中起到服务器之间互相通信的作用。
1、开启邮箱SMTP服务
2、smtplib模块的使用
六、日志模块logging
logging模块是Python中的一个标准库,可以对程序运行过程进行记录,主要用于输出运行日志。比如:可以设置输出日志的等级、日志保存路径、日志文件回滚等。
#导入logging模块
import logging
#简单设置
logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
#获取log对象
logger = logging.getLogger(__name__)
#输出内容
logger.info("Start print log")
logger.debug("this is test log")
logger.warning("test log")
2021-02-22 13:10:40,749 - __main__ - INFO - Start print log
2021-02-22 13:10:40,762 - __main__ - WARNING - test log
参数说明:
Level:设置日志输出级别,日志打印时只打印大于和等于设置的级别,总共有五个级别:
1、DEBUG:调试,调试时触发;
2、INFO:提示,程序正常运行时触发;
3、WARNING:警告,可以正常运行,但有可能发生错误时触发;
4、ERROR:错误,当程序错误无法执行某些功能时触发;
5、CRITICAL:严重的、致命的,当程序发生严重错误时无法继续运行时触发;
format:输出的格式和内容:
%(levelno)s:打印日志级别的数值;
%(levelname)s:打印日志级别的名称;
%(pathname)s:打印当前执行程序的路径;
%(filename)s:打印当前执行的程序名;
%(funcName)s:打印日志的当前函数;
%(asctime)s:打印日志的时间;
%(thread)d:打印线程ID;
%(threadName)s:打印线程名称;
%(process)d:打印进程ID;
%(processName)d:打印进程名称;
%(module)s:打印模块名称;
%(message)s:打印日志信息;
logging.getLogger("AppName"):根据不同的名字定义不同的logger对象,默认为root;
filename:将日志输出到日志文件中;
handle:处理日志信息的输出方向;
七、CSV文件读写模块csv
Python3中,csv模块是一个内置模块。CSV文件是纯文本文件,以“,”作为分隔符,分隔两个单元格。csv模块主要用到两个方法。即读取文本内容的方法reader()和写入文本内容方法writer()
import csv
def csv_writer():
"""CSV文本写入"""
#数据date
headers = ['code','name','ranking']
rows = [
(1,'Python','first'),
(2, 'JAVA', 'second'),
(3, 'C语言', 'third')
]
#写入
with open('data.csv','w',encoding= 'utf-8',newline='') as f:
writer = csv.writer(f)
writer.writerow(headers)
writer.writerows(rows)
def csv_reader():
"""CSV文件读取"""
with open('data.csv','r',encoding= 'utf-8')as f:
reader = csv.reader(f)
print(list(reader))
if __name__ == '__main__':
csv_writer()
csv_reader()
写入时如果文件不存在,则会新建文件;如果文件存在,则会清空内容并重新写入。
八、Excel操作模块openpyxl
openpyxl是用来操作Excel2007及以上版本产生的xlsx文件,可以用来创建工作簿、选择活动工作表、写入和读取单元格数据以及设置单元格的字体颜色、边框样式、合并单元格、设置单元格背景等。
openpyxl是扩展库,使用时需要安装:
pip install openpyxl
from openpyxl import Workbook
import datetime
#创建文件对象
wb = Workbook()
#使用active获取第一个工作表
ws = wb.active
#单元格写入内容
ws['A1'] = "编号" #A1单元格输入编号
ws['B1'] = "任务"
ws['C1'] = "创建时间"
#行写入
ws.append({'A':10001,'B':"测试任务",'C':datetime.datetime.now()})
#保存文件
wb.save("data.xlsx")
一、Excel文件操作
1、Workbook():创建xlsx文件;
2、save():保存文件,参数传参时可设置路径;
二、sheet操作
1、Workbook().get_sheet_names():以list格式返回Excel中所有工作表名;
2、Workbook().sheetnames():以list格式返回Excel中所有工作表;
3、Workbook().create_sheet(u'sheet名',index=0):新建sheet;
4、Workbook().active:获取默认工作表;
5、Workbook().get_sheet_names(u'sheet名'):通过表名得到工作表;
6、Workbook()['sheet名']:通过表名得到工作表;
7、Workbook()['sheet名'].title:更改工作表名;
8、del Workbook()['sheet名']:删除工作表;
9、Workbook().remove(Workbook()['sheet名']):删除工作表;
三、sheet数据操作
代码格式:sheet = Workbook()["sheet名"]
1、sheet.max_row:返回sheet中数据的最大行数;
2、sheet.min_row:返回sheet中数据的最小行数;
3、sheet.max_column:返回sheet中数据的最大列数;
4、sheet.min_column:返回sheet中数据的最小列数;
四、单元格操作
代码格式:sheet = Workbook()["sheet名"]
1、sheet['A1'] = 'A1':将A1单元格内容设置为 'A1';
2、sheet['A1'].value = 'A1':将A1单元格内容设置为 'A1';
3、sheet.cell(row=3,column=2).value = 'B3':第三行第二列内容设置为'B3';
五、行、列写入数据
代码格式:sheet = Workbook()["sheet名"]
1、sheet .append({'A':10001,'B':"测试任务",'C':datetime.datetime.now()})
九、MySQL数据库操作包pymysql
使用时需要安装:
pip install pymysql
1、简单使用
import pymysql
#连接database
db = pymysql.connect(
host = "10.0.xx.xx", #数据库地址IP
port = 3306, #端口号
user = 'AAAA', #用户名
password = 'XXXX', #密码
database = 'VVVV' , #数据库名
charset = "utf8" #编码格式
)
#创建游标对象
cursor = db.cursor()
#SQL语句
sql = "SELECT * FROM A where stu_sex = '02'"
#执行SQL语句
try:
cursor.execute(sql)
#获取所有记录列表
results = cursor.fetchall()
for row in results:
id = row[0]
stu_name = row[1]
stu_sex = row[2]
print(id,stu_name,stu_sex,end='\n')
except:
print("获取数据失败")
#关闭游标
cursor.close()
#断开链接
db.close()
2、获取查询数据
使用fetch获取数据,默认是以元组的形式返回。
1、cursor.fetchone():获取第一行数据;
2、cursor.fetchmany(n):获取前n行数据;
3、cursor.fetchall():获取所有数据;
3、增删改数据
通过执行SQL语句对数据表进行操作。