zoukankan      html  css  js  c++  java
  • 常用模块 1.时间模块 2.系统模块 3.项目开发目录规范

    time模块         提供各种操作时间的函数
      时间戳(timestamp):time.time()
      延迟线程的运行:time.sleep(secs)
      指定时间戳下的)当前时区时间:time.localtime([secs])
      指定时间戳下的)格林威治时间:time.gmtime([secs])
      指定时间元组下的)格式化时间:time.strftime(fmt[,tupletime])
    1) 当前时区时间
    time_obj = time.localtime()
    print(time_obj)
    print(time_obj.tm_year)
    
    2)格林威治时间
    time_obj2 = time.gmtime()
    print(time_obj2)
    print(time_obj2.tm_hour)
    print(time_obj2.tm_wday)  #  星期从周一开始计算,周一为数字0
    
    
    31557294569
    print(time.localtime(1557094569))  # 将时间戳转化成时间对象
    print(time.gmtime(1557094569))
    
    
    4) 格式化时间
     (2019, 5, 6, 6, 16, 9, 0, 126, 0)
    res = time.strftime("%Y-%m-%d %H:%M:%S")
    print(res)
    res = time.strftime("%Y-%m-%d %H:%M:%S", (2008, 8, 8, 8, 8, 8, 0, 0, 0))
    print(res)

    datetime模块

    当前时间:datetime.datetime.now()
    昨天:datetime.datetime.now() + datetime.timedelta(days=-1)
    修改时间:datetime_obj.replace([...])
    格式化时间戳:datetime.date.fromtimestamp(timestamp)
    import datetime
    
    print(datetime.datetime.year)
    print(datetime.datetime.day)
    now_time = datetime.datetime.now()  # 当前时间
    res = str(now_time)
    print(res, res[:-7])
    
    days = datetime.timedelta(days=7)  # 7天的时间对象
    print(days, type(days))
    
    # 免登陆时间运算 | 会员过期时间
    time_obj = now_time + days
    print(time_obj, type(time_obj))
    
    new_time_obj = time_obj.replace(year=2000, day=1, second=0)
    print(new_time_obj)
    
    print(datetime.date.fromtimestamp(1557094560))  # 2019-05-06
    calendar模块
      判断闰年:calendar.isleap(year)
      查看某年某月日历:calendar.month(year, mouth)
      查看某年某月起始星期与当月天数:calendar.monthrange(year, mouth)
    import calendar
    print(calendar.isleap(2200))
    print(calendar.month(2019, 5))
    print(calendar.monthrange(2019, 5))
    sys模块     用于提供对解释器相关的访问及维护,并有很强的交互功能
      模块命令行参数List,第一个元素是程序本身路径:sys.argv 应用于自动化脚
       - sys.argv接受所有py文件作为脚本执行外界传入的参数
       - 外界执行传参的方式,cmd中通过python接收器直接执行py文件,python3 py文件 参数们
       - sys.argv = [py文件绝对路径, 参数1, ..., 参数n]
      退出程序,正常退出时exit(0):sys.exit(n)
      获取Python解释程序的版本信息:sys.version
      最大int值:sys.maxsize | sys.maxint
      环境变量:sys.path ******
      操作系统平台名称:sys.platform
    import sys
    sys.exit(0)
    print('哈哈')
    print(sys.version)
    print(sys.maxsize)
    print(sys.maxint)  # py2 = sys.maxsize
    print(sys.platform)

    import sys
    print(sys.argv)
    import os.path

    def f1():
    print('执行自动化打印方法')

    def f2():
    print('执行自动化移动方法')

    def copy_file(old, new):
    # print("将%s复制成%s" % (old, new))
    new_file = os.path.join(new, 'new.py')
    with open(old, 'rb') as rf, open(new_file, 'wb') as wf:
    for line in rf:
    wf.write(line)


    cmd_map = {
    'print': f1,
    'move': f2
    }

    if len(sys.argv) > 1:
    cmd = sys.argv[1]
    if cmd in cmd_map:
    cmd_map[cmd]()

    if len(sys.argv) == 4:
    if sys.argv[1] == 'copy_file':
    old = sys.argv[2]
    new = sys.argv[3]

    if os.path.isfile(old) and os.path.isdir(new):
    copy_file(old, new)




    os模块        用于提供系统级别的操作
      生成单级目录:os.mkdir('dirname')
      生成多层目录:os.makedirs('dirname1/.../dirnamen2')
      重命名:os.rename("oldname","newname")
      工作目录:os.getcwd()
      删除文件:os.romeve('file_path')
      删除单层空目录:os.rmdir('dirname')
      移除多层空目录:os.removedirs('dirname1/.../dirnamen')
      列举目录下所有资源:os.listdir('dirname')
      路径分隔符:os.sep
      行终止符:os.linesep
      文件分隔符:os.pathsep
      操作系统名:os.name
      操作系统环境变量:os.environ
      执行shell脚本:os.system()
    import os
    print(os.sep, os.linesep, os.pathsep, os.name, os.environ)
    
     os.mkdir('abc')  # 在当前文件所在路径下创建abc文件夹
     os.mkdir('D:\abc')  # 就是在指定的绝对路径下创建abc文件夹
    
     os.mkdir('a/b/c')  # a,b必须提前存在,c不能存在
     os.makedirs(r'ac')  # a,b存在与否都可以,c不能存在
    
     os.rename("a", "aa")
    
     print(os.getcwd())
    
     os.rmdir('aa/b/c')
    
     os.removedirs('aa/b/c')
    
     os.remove('aa/bb/1.py')
    
     print(os.listdir(r'F:python8期课堂内容day18代码part4'))
    
    def delete_dir(folder):
        for path in os.listdir(folder):
             如果path是文件夹 delete_dir(path)
             如果是文件os.remove(path)
            pass
         for走完了代表folder内部删空了,可以删folder
    
    print(os.system('dir'))
    案例

    将part5下的mm.py移动到part6下abc文件夹中 import os import sys BASE_DIR
    = os.path.dirname(os.path.dirname(__file__)) sys.path.append(BASE_DIR) def move_file(file, folder): if not (os.path.exists(file) and os.path.isfile(file)): print('文件不存在或非法') return False if not os.path.exists(folder): os.makedirs(folder) file_name = os.path.split(file)[1] # file_name = os.path.basename(file) new_file = os.path.join(folder, file_name) with open(file, 'rb') as rf, open(new_file, 'wb') as wf: for line in rf: wf.write(line) os.remove(file) file = os.path.join(BASE_DIR, 'part5', 'mm.py') folder = os.path.join(BASE_DIR, 'part6', 'abc') move_file(file, folder) 遍历打印目标路径中所有的txt文件 def print_txt(folder): if not os.path.exists(folder) or os.path.isfile(folder): return for path in os.listdir(folder): file_path = os.path.join(folder, path) if os.path.isfile(file_path) and file_path.endswith('.txt'): print(path) elif os.path.isdir(file_path): print_txt(file_path) # 递归 target_path = os.path.join(BASE_DIR, 'part6', 'target') print_txt(target_path)

    项目开发目录规范

    1.调研
    2.需求分析
    3.架构师完成项目demo,完成项目架构
    4.分工
    5.写代码
    6.白盒黑盒测试
    7.项目审核发布 => 项目 -> 产品

    bin: 可执行文件,入口,入口也可以放在项目根目录下
    core: 核心代码
    db:数据库相关文件
    interface:接口
    lib:包、模块、第三方文件夹
    log:日志
    setting:配置
    static:静态文件

     

     
  • 相关阅读:
    根据现有文件生成图形化的目录树
    一个最简的短信验证码倒计时例子
    将指定目录下的所有资源整体迁移到另一个目录下
    通过 url 获取相应的 location 信息
    node-glob的*匹配
    mysql将查询出来的一列数据拼装成一个字符串
    Call to undefined function mysql_connect()错误原因
    JavaScript转unix时间戳
    .net3.0 中跨线程访问控件
    WPF的线程模型
  • 原文地址:https://www.cnblogs.com/wyf20190411-/p/10828242.html
Copyright © 2011-2022 走看看