python-os&sys&time模块&mysql模块

Posted tour8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

     

以上是关于python-os&sys&time模块&mysql模块的主要内容,如果未能解决你的问题,请参考以下文章

高级定时器TIM1&TIM8

UVA1025 城市里的间谍 A Spy in the Metro

UVA1025 城市里的间谍 A Spy in the Metro

CodeForces Round #544 Div.3

Python全栈开发——Json & pickle & shelve & sys模块

常用模块---sys&logging&序列化模块(json&pickle)