将 os.path 转换为 pathlib 模块未按预期进行
Converting os.path to pathlib module no working out as expected
我一直在尝试用新的 pathlib 模块替换 os.path。在这些行中,os.path 每次都没有错误,而 Pathlib 模块会带来错误:
Path' and 'str'
[!] send_logs // Error.. ~ unsupported operand type(s) for +: 'PosixPath' and 'str'
这样做的主要目的是将文件写入该文件夹;使用 Path.is_dir(log_dir) 返回 True。通过 pathlib 模块尝试这样做会带来错误。我试图找到其他来源来寻找答案,并将 PosixPath 作为一个单独的变量用于 expanduser;无济于事我被带到这里
我很抱歉,因为我是新手,这是我的第一个 'projects'!非常感谢所有帮助。我也遇到过类似的问题,但他们的目标是找到主目录,即 Path.owner(Path.home())
#log_dir = os.path.expanduser('~') + '/Downloads/' --- commented out for pathlib/path
p = PosixPath('~' + '/Downloads/')
log_dir = Path.expanduser(Path(p))
感谢您提供的帮助。设法让它与单行一起工作:以与 os.path.expanduser()
相同的方式
log_dir = str(PosixPath('~' + '/Downloads/').expanduser())
编辑:
我想你正在寻找这个:
>>> p = PosixPath('~/films/Monty Python')
>>> p.expanduser()
PosixPath('/home/eric/films/Monty Python')
请记住 pathlib.Path(somepath) returns 是一个路径库对象,但不是字符串。要将 pathlib 对象连接到字符串,请使用
str(pathlib.Path(somepath))+"somepath"
或在pathlib 文档
中查找 .str 或类似方法
我一直在尝试用新的 pathlib 模块替换 os.path。在这些行中,os.path 每次都没有错误,而 Pathlib 模块会带来错误:
Path' and 'str'
[!] send_logs // Error.. ~ unsupported operand type(s) for +: 'PosixPath' and 'str'
这样做的主要目的是将文件写入该文件夹;使用 Path.is_dir(log_dir) 返回 True。通过 pathlib 模块尝试这样做会带来错误。我试图找到其他来源来寻找答案,并将 PosixPath 作为一个单独的变量用于 expanduser;无济于事我被带到这里
我很抱歉,因为我是新手,这是我的第一个 'projects'!非常感谢所有帮助。我也遇到过类似的问题,但他们的目标是找到主目录,即 Path.owner(Path.home())
#log_dir = os.path.expanduser('~') + '/Downloads/' --- commented out for pathlib/path
p = PosixPath('~' + '/Downloads/')
log_dir = Path.expanduser(Path(p))
感谢您提供的帮助。设法让它与单行一起工作:以与 os.path.expanduser()
相同的方式log_dir = str(PosixPath('~' + '/Downloads/').expanduser())
编辑: 我想你正在寻找这个:
>>> p = PosixPath('~/films/Monty Python')
>>> p.expanduser()
PosixPath('/home/eric/films/Monty Python')
请记住 pathlib.Path(somepath) returns 是一个路径库对象,但不是字符串。要将 pathlib 对象连接到字符串,请使用
str(pathlib.Path(somepath))+"somepath"
或在pathlib 文档
中查找 .str 或类似方法