python-os&sys&time模块&mysql模块
1、string常量
1 # 0123456789 2 print(string.digits) 3 # abcdefghijklmnopqrstuvwxyz 4 print(string.ascii_lowercase) 5 # ABCDEFGHIJKLMNOPQRSTUVWXYZ 6 print(string.ascii_uppercase)
2、sys模块
1 import sys 2 print(sys.platform) # 操作系统
1 import sys 2 3 print(sys.argv) # 用来获取运行python文件的时候传入的参数 4 if sys.argv[1] == '--help': 5 print('这个python程序是为了说明sys.argv的作用') 6 elif sys.argv[1] == '--version': 7 print('现在的版本是1.0.1')
运行结果:

3、os模块
- 文件相关操作
1 import os 2 3 # 判断目录/文件是否存在 4 print(os.path.exists('/Users/nhy/PycharmProjects/ssz/day51')) 5 6 # 获取父目录 7 # 结果:/Users/nhy/PycharmProjects/ssz/day5/ 8 print(os.path.dirname('/Users/nhy/PycharmProjects/ssz/day5/goods.json')) 9 10 # 根据相对路径获取绝对路径 11 print(os.path.abspath(r'../day4/a.py')) 12 13 # 拆分目录和文件 14 # 结果:#根据相对路径获取绝对路径 15 print(os.path.split('/usr/local/a.py')) 16 17 # 获取文件大小,单位?? 18 print(os.path.getsize('/Users/snail/PycharmProjects/python自动化/day5/笔记.txt')) 19 20 # 判断是否文件;若文件不存在,则返回false 21 print(os.path.isfile('/Users/snail/PycharmProjects/python自动化/day5/笔记.txt')) 22 # 判断是否目录;若文件不存在,则返回false 23 print(os.path.isdir('/Users/snail/PycharmProjects/python自动化/day5')) 24 print(os.path.isfile('/Users/snail/PycharmProjects/python自动化/day5')) 25 26 # 修改时间 27 print(os.path.getmtime(r'/Users/snail/PycharmProjects/python自动化/day5/os模块.py')) 28 # 最后一次访问的时间 29 print(os.path.getatime(r'/Users/snail/PycharmProjects/python自动化/day5/os模块.py')) 30 # 创建时间 31 print(os.path.getctime(r'/Users/snail/PycharmProjects/python自动化/day5/os模块.py'))
- 目录相关操作
1 import os 2 3 # 创建目录 4 os.mkdir('test') 5 os.makedirs('test1') 6 7 # 级联创建目录:父目录不存在的时候,会帮你创建一个父目录 8 os.makedirs('python2/python2') 9 10 # 删除空文件夹 11 os.rmdir('python/python3') 12 13 # 只能删除文件,不能删文件夹 14 os.remove('goods.json') 15 16 # 重命名:文件和目录均可 17 os.rename('python3/1.py','python3/11.py') 18 19 # 获取上级目录下的所有文件(目录也是一个文件) 20 print(os.listdir('..')) 21 # 获取当前目录下的所有文件 22 print(os.listdir('.')) 23 24 # 切换目录:进入到某个目录下 25 os.chdir('/Users/snail/PycharmProjects/python自动化') 26 print(os.listdir('.')) 27 28 # 获取当前目录 29 print(os.getcwd()) 30 31 # 执行操作系统命令,获取不到结果 32 os.system('rm -rf python3') 33 34 # 执行操作系统命令,可以获取到命令执行的结果 35 result = os.popen('ifconfig').read() 36 print(result) 37 38 39 # os.walk() 40 # 获取某个目录下的内容:当前目录,当前目录下的文件夹,当前目录下的文件 41 # 它帮你循环这个目录下面所有的子目录 42 43 for cur_dir,dirs,files in os.walk('/Users/snail/PycharmProjects/python自动化/day5/python2'): 44 print(cur_dir) 45 print(dirs) 46 print(files) 47 print('='*10)
- os模块小练习
1 # 查找某个目录下的mp4文件 2 # 1、指定在哪个目录下 3 # 2、循环这个目录下的文件,判断文件名是否包含.mp4 4 # 3、如果包含.mp4 print该目录 5 import os 6 keyword = '.mp4' 7 for cur_dir,dirs,files in os.walk('/Users/snail/Downloads'): 8 for file in files: 9 if keyword in file: 10 abs_path = os.path.join(cur_dir,file) 11 print(abs_path)
4、time&datetime模块
- 当前时间戳及格式化时间
1 import time,datetime 2 3 4 # 时间元组 5 # 当前时间戳:1589727976.850101; 6 # 表示从unix元年(计算机发明的时间)到现在过了多少秒 7 print(time.time()) 8 9 # 格式化时间(当前时间) 10 # 2020-05-17 23:06:16 11 print(time.strftime('%Y-%m-%d %H:%M:%S')) 12 # 2020-05-17 13 print(time.strftime('%Y-%m-%d')) 14 # 23:06:16 15 print(time.strftime('%H:%M:%S')) 16 # 202005 17 print(time.strftime('%Y%m'))
- 时间戳、格式化时间相互转换
1 import time,datetime 2 3 # 把时间戳转成时间元素 4 result =time.localtime(1589617130) 5 print(result) 6 print(time.strftime('%Y-%m-%d %H:%M:%S',result)) 7 8 # 转换为时间戳 9 # result为元组 10 result = time.strptime('2020-05-16 16:18:50','%Y-%m-%d %H:%M:%S') 11 print(result) 12 print(time.mktime(result))
- 封装成函数
1 import time,datetime 2 3 4 # 这个函数将格式化好的时间转为时间戳,如果不传参数默认返回当前时间戳 5 def str_to_timezone(str=None,format="%Y-%m-%d %H:%M:%S"): 6 if str: 7 time_tuple = time.strptime(str,format) 8 result = time.mktime(time_tuple) 9 else: 10 result = time.time() 11 return int(result) 12 13 print(str_to_timezone()) 14 15 16 '''这个函数是时间戳转为格式化时间,如果不传参数,默认返回当前时间''' 17 18 19 def timezone_to_str(timezone=None,format="%Y-%m-%d %H:%M:%S"): 20 if timezone: 21 time_tuple = time.localtime(timezone) 22 result = time.strftime(format,time_tuple) 23 else: 24 result = time.strftime(format) 25 return result 26 27 print(timezone_to_str())
- time.sleep()
1 import time 2 3 # 睡10秒 4 time.sleep(10)
5、mysql模块
- 查询操作
1 1 import pymysql 2 2 connect = pymysql.connect(host='xxxx', 3 3 user='xxx', 4 4 password='xxx', 5 5 db='xxx', 6 6 port=3306, 7 7 charset="utf8", 8 8 autocommit=True 9 9 ) 10 10 # 建立游标 11 11 cur = connect.cursor() 12 12 sql = 'select * from students limit 3;' 13 13 cur.execute(sql) 14 14 print(cur.fetchall()) # 获取sql执行的结果 15 15 # print(cur.fetchone()) # 获取sql执行的结果,只获取一条结果 16 16 # print(cur.fetchmany(10)) # 获取sql执行的结果#获取指定的条数 17 17 cur.close() 18 18 connect.close()
- 查询操作2
1 import pymysql 2 connect = pymysql.connect(host='xxx', 3 user='xxx', 4 password='xxx', 5 db='xxx', 6 port=3306, 7 charset="utf8", 8 autocommit=True 9 ) 10 11 # 指定游标类型;返回的数据为字典 12 cur = connect.cursor(pymysql.cursors.DictCursor) 13 sql = 'select * from students limit 3;' 14 cur.execute(sql) 15 # print(cur.fetchall()) # 获取sql执行的结果 16 print(cur.fetchone()) # 获取sql执行的结果,只获取一条结果 17 # print(cur.fetchmany(10)) # 获取sql执行的结果#获取指定的条数 18 cur.close() 19 connect.close()
- 写入操作
import pymysql connect = pymysql.connect(host='xxx', user='xxx', password='xxx', db='xxx', port=3306, charset="utf8", autocommit=True ) # 建立游标 cur = connect.cursor() sql="insert into students values (88,'lzh','男',38,'射手座','北京');" cur.execute(sql) # commit操作,修改数据的情况下,必须得commit;建立连接已指定自动提交,不需要手动提交,也可成功写入数据 connect.commit() # 事务:多条sql一起执行,如果一条失败,两条sql都算失败 # connect.rollback() #回滚,sql执行失败的时候,用在事务里 cur.close() connect.close()

浙公网安备 33010602011771号