pytorch/python杂记——解析命令行参数、格式字符串、shutil、日志、sys、def __getitem__、异常

本文介绍了Python中argparse模块的使用、格式字符串函数format的应用、shutil模块的文件处理、logging模块的日志配置和操作,以及sys模块、函数注释、PIL库图像格式处理和异常处理的相关内容。
摘要由CSDN通过智能技术生成


一、解析命令行参数——argparse.ArgumentParser()

整理自:Python中argparse.ArgumentParser()用法解析

  1. 用处:解析命令行参数和选项的标准模块,用于解析命令行参数;
  2. 使用目的:在终端窗口输入训练的参数和选项;
  3. 示例:
parser = argparse.ArgumentParser()  # 创建一个解析对象;
parser.add_argument('--exp', type=str, default='BCP', help='experiment_name')  # 向该对象中添加命令行参数和选项;
args = parser.parse_args()  # 进行解析;解析成功之后即可使用
args.exp  # 
  1. 常见命令行参数:
    在这里插入图片描述
  2. Tips:复现模型时要注意默认值default的设置,如修改地址、部分参数的数值;

二、格式字符串函数——format

  1. 用法:格式字符串函数,主要通过字符串中的花括号{},来识别替换字段,从而完成字符串的格式化。
  2. 示例:
print("我叫{},今年{}岁。".format("小蜜",18))
#花括号的个数决定了参数的个数。但是花括号的个数可以少于参数。花括号多于参数的个数,则会报错。

三、shutil模块的文件处理——shutil.copy(src,dst)

shutil 模块中 shutil.copy()、shutil.rmtree()、shutil.move()等基本函数用法介绍!

用法:将文件 src 复制到 文件 dst 中,复制成功后返回 dst 完整路径,dst 可为文件路径或文件目录;


四、日志模块——logging

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。

Python中内置的日志模块logging用法详解

4.1 基本配置—— logging.basicConfig

  1. 优点:由开发者决定输出什么信息、方式、等级;线程安全;

  2. 参数:
    在这里插入图片描述

  3. 示例:

logging.basicConfig(filename=pre_snapshot_path+"/log.txt", level=logging.INFO, format='[%(asctime)s.%(msecs)03d] %(message)s', datefmt='%H:%M:%S')

4.2 创建Logger——logging.getLogger()

  1. 作用:获取/创造一个logger对象;可以给该对象起名,用于后续调用

4.3 配置流handler处理器——logging.StreamHandler()

  1. 作用:能够将日志信息输出到sys.stdout, sys.stderr 或者类文件对象,能够支持write()和flush()方法的对象。
  2. 示例:
logging.StreamHandler(sys.stdout)
  1. 添加到创建的logger中:
logging.getLogger().addHandler(logging.StreamHandler(sys.stdout))

4.4 不打印的输出方式之一——logging.info()

  1. logging 日志的级别一共有五种,且存在输出的优先级:
critical > error > warning > info > debug
  1. 默认情况下是不会打印 info 和 debug 级别日志的
  2. 示例:强制str输出arg:
logging.info(str(args))

五、sys模块

5.1 sys.stdout

  1. 作用:它使用其参数直接显示在控制台窗口上,了,类似于设置为write

六、pycharm给函数写注释

  1. 鼠标单击函数名,停留两秒,选择灯泡
    在这里插入图片描述
  2. 单击
    在这里插入图片描述

七、def getitem(self index)

  1. 用于实现对象的索引或列表访问,似于obj[index]时,系统会自动调用__getitem__方法。

八、图像格式操作——PIL库

仅记录所需,详细见:Python 中的 PIL 库

2.1 基础理论

  1. 定义:Pillow 用于图像的基本处理,由于其能够接受几乎所有的图像类型,所以可用于图像类型转换。
  2. 特点:由于CV不支持.gif图像,可用PIL进行读取转换类型
  3. 图像格式对应的模式参数
图像格式模式参数
彩色图像的PNG、BMP、JPG”RGB“
灰色图像的PNG、BMP、JPG”L“

2.2 格式转换——save()和convert()

  1. 可使用save方法和convert方法转换格式,其中,save方法不全部适用,且需要地址保存
  2. 语法:model和format指转换后的格式
img=PIL.Image.open(imageDir)
img.save(saveDir,format=)
imgConvert=img.convert(model)

九、super().init()

  1. 作用:调用父类的init方法
  2. 例子:Net继承nn.Module,则super(Net, self).init()是对继承自父类nn.Module的属性进行初始化
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()

十、判断条件抛出异常——assert

  1. 作用:断定此处的条件是否是对的,如果错了,就返回问题,而不必等待程序运行后出现崩溃的情况
  2. 语法:
assert 判断条件语句 [, "文字说明"]

十一、抛出异常名称——arise

  1. 作用:抛出异常
  2. 用法:
raise [抛出的异常名词[("异常原因")]]
raise  # 该语句引发当前上下文中捕获的异常,或默认引发 RuntimeError 异常。
raise 异常名词  # 表示引发执行类型的异常。
raise 异常名词("异常原因")   # 在引发指定类型的异常的同时,附带异常的描述信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值