python项目代码总结

  1. ext(0)这个一般在try-except-finally结构中使用,即:如果代码执行到最后没有报任何错误,则可以以无错误的形式退出,否则应该使用ext(1)

    print("show")
    try:
        sys.exit(0)
    except SystemExit as sys_exit:
        print(sys_exit)
        print('no error exit')
    finally:
        print('exit')
    
    """
    outputs:
    0
    no error exit
    exit
    """
    

    ① 如果使用的是os._exit(0)则直接会退出python解释器,也就是退出了python环境,不会执行后面的语句了
    ② 除了0以外的错误代码,可抛异常事件(也就是except IOError as e:)供捕获,具体怎么捕获,可以用if条件判断来触发相应的事件
    ③ 补充一下, 只有try下面的语句中有错误,才会去触发except否则直接执行finally,当然了如果你想在没有错误发生的情况下运行另一个代码,可以使用else

  2. 在pycharm中,如果想在含有argparser的情况下自动给参数赋值,可以:

    parser.add_argument('--hello', type=str, required=True, help="hello world~")
    

    使用required=True后,需要在pycharm或者vscode的参数配置中给出对应参数的赋值,如pycharm在Parameter中输入:--hello 'world'

    如果想创建互斥参数可以:

    parser = argparse.ArgumentParser()
    group = parser.add_mutually_exclusive_group(required=True)
    group.add_argument('--foo', action='store_true')
    group.add_argument('--bar', action='store_false')
    

    以上代码规定了,参数foo与参数bar只能输入一个,store_true表示触发时参数为True,未触发时为False

  3. datetime.now()输出当前系统的时间,datetime.utcnow()输出世界标准时间

  4. python函数同步和异步调用概念

  • 同步: 直接得到函数最终结果
  • 异步: 不直接得到函数最终结果
  1. partial的作用就是对已存在的函数进行名字上的封装,更易理解,如:

    add100 = partial(add,100)
    print(add100(100))
    
  2. p = subprocess.Popen('ls -l', shell=True)使用subprocess来在python中打开shell运行命令,并输出相应的运行结果

  3. Fire是一个Python库,只需对Fire进行一次调用即可将任何Python组件转变为命令行界面

  4. 什么是EXIF

  • 可交换图像文件格式(Exchangeable image file format,EXIF)
  • EXIF是数码相机拍照后,原始照片中保留的光圈、曝光度、GPS信息、拍摄机器、拍摄时间等重要信息,注意,在二次处理后,可能EXIF信息会丢失掉
  • 通过python可以读取到EXIF信息

猜你喜欢

转载自blog.csdn.net/qq_37285386/article/details/107743710
今日推荐