微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 os.path.join() 在这种情况下不起作用?

如何解决为什么 os.path.join() 在这种情况下不起作用?

后面的字符串不应该以斜杠开头。如果它们以斜线开头,则它们被视为“绝对路径”,并且它们之前的所有内容都将被丢弃。

引用Python 文档os.path.join

如果组件是绝对路径,则所有先前的组件都将被丢弃,并从绝对路径组件继续连接。

请注意在 Windows 上,与驱动器号相关的行为,与早期的 Python 版本相比似乎发生了变化:

在 Windows 上,当遇到绝对路径组件(例如,)时,不会重置驱动器号r'\foo'。如果组件包含驱动器号,则所有以前的组件都将被丢弃并重置驱动器号。请注意,由于每个驱动器都有一个当前目录,因此os.path.join("c:", "foo")表示相对于驱动器C:( c:foo) 上当前目录的路径,而不是c:\foo.

解决方法

下面的代码不会加入,调试时该命令不存储整个路径,而只存储最后一个条目。

os.path.join('/home/build/test/sandboxes/',todaystr,'/new_sandbox/')

当我测试它时,它只存储/new_sandbox/部分代码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。