-
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
-
在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
= -
datetime.now()
输出当前系统的时间,datetime.utcnow()
输出世界标准时间 -
python函数同步和异步调用概念
- 同步: 直接得到函数最终结果
- 异步: 不直接得到函数最终结果
-
partial
的作用就是对已存在的函数进行名字上的封装,更易理解,如:add100 = partial(add,100) print(add100(100))
-
p = subprocess.Popen('ls -l', shell=True)
使用subprocess
来在python中打开shell运行命令,并输出相应的运行结果 -
Fire
是一个Python库,只需对Fire进行一次调用即可将任何Python组件转变为命令行界面 -
什么是
EXIF
?
- 可交换图像文件格式(Exchangeable image file format,EXIF)
- EXIF是数码相机拍照后,原始照片中保留的光圈、曝光度、GPS信息、拍摄机器、拍摄时间等重要信息,注意,在二次处理后,可能EXIF信息会丢失掉
- 通过python可以读取到EXIF信息