最近在rpa项目开发中重新接触了Python语言,得以把我学得马马虎虎的基础知识又拉出来遛了。
在将日志目录路径与当前时间进行字符串拼接赋值给日志文件时,系统报错unsupported operand type(s) for +: 'NoneType' and 'str',即不能将none类型和str类型用+进行连接。
报错代码:
log_file = log_dir + v_datetime_current
报错原因:
log_dir = os.makedirs(log_dir)
去看了makedirs的源代码后发现该方法是没有返回值的,在函数的定义里,有return返回值的才能用变量接收,没有返回值的,变量接收到的就是none。
所以在将 log_dir 与 v_datetime_current进行拼接时系统提示了该错误。
不过该错误建立在第一次调试代码时工作目录中没有log_dir文件夹,如果有的话不会报该错误。
正确写法:
os.makedirs(log_dir)