Python脚本开发中常用模块

一、日期和时间模块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)字符串转datetimeprint(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语句对数据表进行操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值