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()

     

posted @ 2020-05-17 23:23  tour8  阅读(185)  评论(0)    收藏  举报