• python3基础笔记(四):模块安装&os模块&时间模块



    一、第三方模块如何安装:
    pip install xxx #安装
    pip uninstall xx #卸载
    pip install xx -U #更新
    pip freeze > 第三方模块.txt #导出已经安装的第三放模块
    pip install -r 第三方模块.txt #从文件里面读模块,批量安装
    pip问题:
    1、pip命令不存在,把python安装目录下的Scripts加入环境变量
    2、pip 的时候没用python目录下的pip,使用where命令知道其他的pip,改为其他名字
    手动安装:
    1、whl结尾的
    pip install /Users/PyMySQL-0.9.3-py2.py3-none-any.whl #后面whl文件的绝对路径
    2、tar.gz结尾的
    1、解压
    2、在命令行里面进入到解压的目录下
    3、执行python setup.py install

    如果电脑上有多个版本的python
    1、python3 -m pip install xpinyin
    python2 -m pip install xpinyin
    2、找到各个版本的下面的scripts目录,pip各自修改为 pip2 /pip3

    二、导入模块的实质:把该模块从上到下的执行一遍

    导入模块的顺序:

    1、当前目录下找

    2、在sys.path目录下找

    如果导入的文件不再当前目录下,也不再sys.path下,要想使用可以把文件目录加入到sys.path里,方法如下:

    append是把目录加入到sys.path目录末尾,insert是加入到sys.path目录最前面
    sys.path.append(r'/Users/Documents/study')
    sys.path.insert(0,r'/Users/Documents/study)
    print(sys.path)

    有一个tools文件是这样的:

    name='tools文件'
    
    def test():
        print('aaabb')
        return 'abc'
    
    if __name__ == '__main__':  #main下的代码不会被执行
       print('aaa')
       print('end')

    导入模块的方法:

    1、import tools  #该方法调用的时候是. 例如:tools.name

    2、from tools import name,test   #该方法调用的时候直接用,例如print(name)

    如果导入的模块名字特别长,可以起一个别名,例如 import tools as t 以后使用的时候直接t.就可以了

    OS模块:

    os常用命令:

    os.mkdir('test')#创建一级文件夹
    os.makedirs()#创建多级文件夹,如果副目录不存在会一并创建
    print(os.listdir(r'/Users/wutata/Documents')) #获取某个目录下的所有文件
    
    #如果忘了某个文件存在了哪里,要如何找
    #1、判断是文件还是文件夹
    #2、进入某个文件夹
    print(os.path.isdir(r'/Users/wutata/Documents')) #判断是否是文件夹
    print(os.path.isfile(r'/Users/wutata/Documents')) #判断是否是文件
    os.chdir(r'/Users/wutata/Documents') #进入某个文件夹
    print(os.listdir())#查看该文件夹下的所有文件,如果某文件夹下有多层目录,只能看该文件夹下第一层下的文件
    
    os.walk函数可以遍历某个目录下的所有文件和文件夹
    #写一个找.mp4文件的例子:
    # name='.mp4'
    # for cur_dir,dirs,files in os.walk(r'/Users/wutata/Documents'):
    #     # print(cur_dir,dirs,files)
    #     for file in files:
    #         if name in file:
    #             abs_path=os.path.join(cur_dir,file)
    #             print('找到%s文件,路径是%s'%(file,abs_path))
    
    #要写成一个通用的函数
    # def search_file(path,name):
    #     for cur_dir, dirs, files in os.walk(path):
    #         for file in files:
    #             if name in file:
    #                abs_path = os.path.join(cur_dir, file)
    #                print('找到%s文件,路径是%s' % (file, abs_path))
    # search_file()
    
     print(os.getcwd()) #获取当前路径
    print(os.system('ifconfig'))#执行操作系统命令,只执行命令不给返回结果
    result=os.popen('ifconfig').read() #执行操作系统命令,并拿到返回结果
    print('result-----',result)
    os.path.getsize()#获取文件大小
    os.path.exists() #判断文件是否存在
    os.path.getatime()#最近一次的访问时间
    os.path.getctime()#文件的创建时间
    os.path.getmtime()#文件的修改时间
    os.path.split()# 将文件路径和文件名分开,如果是长路径的想取文件名就用该方法,然后取下标是-1的就是文件名
    os.path.dirname()#获取父目录
    os.path.abspath()#根据相对路径获取绝对路径(要想获取到day3文件下的a.txt这么写../day3/a.txt)
    os.path.abspath(__file__)#__file__是获取当前文件的绝对路径
    os.rmdir() #删除空文件夹
    os.removedirs() #删除空文件夹会把父目录一起删除
    os.remove() #删除文件

    时间模块:

    import time ,datetime
    
    # time.time() #获取当前时间戳
    # print(time.strftime('%Y-%m-%d %H:%M:%S'))#获取当前格式化好的时间
    
    #时间元祖(时间戳与格式化好的时间相互转换需要用到)
    
    #1、时间戳转格式化的时间
    
    timestamp=1342423451
    # time_tuple=time.gmtime(timestamp)#以标准时区的时间转换,标准时区比当前时区小
    time_tuple=time.localtime(timestamp) #将时间戳转换成时间元祖,以当前时间转换
    result=time.strftime('%Y-%m-%d %H:%M:%S',time_tuple) #将时间元祖转换成格式化的时间
    print(result)
    
    
    #2、将格式化好的时间转换成时间戳
    s='2019-10-22 17:12:14'
    time_tuple=time.strptime(s,'%Y-%m-%d %H:%M:%S') #格式化好的时间转成时间元祖
    result=time.mktime(time_tuple) #把时间元祖转换成时间戳
    print(result)
    
    
    #封装成一个通用函数
    
    def timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
        '''时间戳转格式化好的时间,默认返回当前时间'''
        if timestamp:
            time_tuple = time.localtime(timestamp) #将时间戳转换成时间元祖,以当前时间转换
            result = time.strftime(format,time_tuple) #将时间元祖转换成格式化的时间
        else:
            result=time.strftime(format)
        return result
    
    def str_to_timestamp(string=None,format='%Y-%m-%d %H:%M:%S'):
        '''格式化好的字符串转时间戳,默认返回当前的时间戳'''
        if string:
            time_tuple = time.strptime(string,format) #格式化好的时间转成时间元祖
            result=time.mktime(time_tuple) #把时间元祖转换成时间戳
        else:
            result=time.time()
        return int(result)
    
    #若想获得3天以后的时间,怎么写?
    t1=str_to_timestamp()+60*60*24*3
    result=timestamp_to_str(t1)
    print(result)
    
    
  • 相关阅读:
    从TimeQuest角度看set_max_delay
    stm32的窗口看门狗的一点发现
    UcosII 就绪表的理解
    关于stm32 APB总线上的"接口时钟使能"与"外设时钟使能"
    关于STM32单片机GPIO口上拉与下拉输入
    从TimeQuest角度看create_generated_clock
    201871010133 赵永军《面向对象程序设计(java)》第六、七周学习总结
    201871010133赵永军《面向对象程序设计(java)》第十一周学习总结
    201871010133赵永军《面向对象程序设计(java)》第二周学习总结
    201871010133赵永军《面向对象程序设计(java)》第十二周学习总结
  • 原文地址:https://www.cnblogs.com/tata-learning/p/11723421.html
Copyright © 2020-2023  润新知