写在开始
记录下在看python代码过程中遇到的问题汇总,和之后找到的正确的答案记录。
1.python中文件路径中加大括号’{}’,表示的意思是什么???
filename = "data/cache/{model}/{uuid}/{mode}-{global_step}-{metric}.txt"
#这个大括号不太清楚是啥用
02.29添加:
关于python的format格式化函数。
实例:
"{} {}".format("hello","world")
"{0} {1} {0}".format("hello","world")
"{name} {url}".format(name="****",url="***")
参考链接:
菜鸟教程 Python format 格式化函数
2.python中类的定义和继承
#看到的关于类的定义的部分代码
import torch
import torch.nn as nn
class embedder(nn.Embedding):
def test(self):
print('teset')
关于类的定义,类的继承,多继承,类的方法的重写,私有方法(__两个下划线开头,声明属性或方法私有),私有属性的定义和使用,上边的菜鸟教程的链接进行了很好的解释,在这里记录一下。
3.logging模块的使用
实例:
1.
from resource.util.get_logger import get_logger
main_logger = get_logger("main", "data/log/{}.log".format(TrainOption.task_uuid))
main_logger.info("TASK ID {}".format(TrainOption.task_uuid))
import logging
engine_logger = logging.getLogger("main.engine")
engine.info("")
这个模块的具体的使用,在代码刚开始时这个getlogger函数传入的参数具体是啥概念,返回的类型,消息的不同的等级,不同文件直接日志的关系,具体怎末表示?????
添加:
关于logging模块,现在大概知道是一个关于日志记录打印的模块,getLogger函数传入的参数是所要记录模块的日志名称,通常为模块名。返回的对象,可以接到多个输出,记录日志到文件或工作台;并且可以过滤不同等级的日志信息,方便管理。然后关于多模块使用logging,在同一个python解释器里返回的都是同一个对象实例,但可以输出不同名称的日志记录。
详细的代码操作和参数解释参考下文:
Python中内置的日志模块logging用法详解
Python之路(第十七篇)logging模块
4.UnicodeDecodeError, invalid continuation byte
在import torch的引用中报错,报错的代码是anaconda中一些已有的依赖包的某些文件解码失败,不过这些文件从来没有动过,之前都是可以正常运行的。
并且之前自己写的程序之前是可以正常运行的。中间只添加了中文注释,之后没有其他修改,最后成功解决的方法是把添加的中文注释和代码分开,另起一行,就好了。。。。也是很迷。
code#注释
上边的写法会报错不知道为啥,将其分行就好了。。
code
#注释
这样的写法就可以和正常运行了