Mark 一个小问题,就是我在用os.path.join拼接路径时,只拼接了部分路径,如下所示:
并没有得到我想要的'E:\\os_path_join_test\\Logs\\1.log',但是盘符还是E:,然后我看了下python3.6官方文档,是这么说的:
合理地拼接一个或多个路径部分。返回值是 path 和 *paths 所有值的连接,每个非空部分后面都紧跟一个目录分隔符 (
os.sep
),除了最后一部分。这意味着如果最后一部分为空,则结果将以分隔符结尾。如果参数中某个部分是绝对路径,则绝对路径前的路径都将被丢弃,并从绝对路径部分开始连接。在 Windows 上,遇到绝对路径部分(例如
r'\foo'
)时,不会重置盘符。如果某部分路径包含盘符,则会丢弃所有先前的部分,并重置盘符。请注意,由于每个驱动器都有一个“当前目录”,所以os.path.join("c:", "foo")
表示驱动器C:
上当前目录的相对路径 (c:foo
),而不是c:\foo
。
意思就是说我写的"\Logs"是绝对路径,之前的路径部分cwd被丢弃,所以说用os.path.join的时候,只需确保第一个路径参数为相对或绝对路径即可,后边的路径不要以"\"开头。