1 回答
![?](http://img1.sycdn.imooc.com/545861f00001be3402200220-100-100.jpg)
TA贡献2037条经验 获得超6个赞
首先,不论在Windows还是Unix系统下,文件名都是不可能含有'/'字符的。
对于字符串中包含相对路径的情况,例如"foo/bar",os.path的join方法是可以正确处理的,将'/'人为替换为'-'反而会导致找不到路径。
这里name
和argv[2]
的具体值你没有给,出现了什么错误也没有具体说明,这样几乎很难理解发生了什么。
附os.path.join方法的说明
os.path.join(path, paths)¶Join one or more path components intelligently. The return value is the concatenation of path and any members of *paths with exactly one directory separator (os.sep) following each non-empty part except the last, meaning that the result will only end in a separator if the last part is empty. If a component is an absolute path, all previous components are thrown away and joining continues from the absolute path component.
On Windows, the drive letter is not reset when an absolute path component (e.g., r'foo') is encountered. If a component contains a drive letter, all previous components are thrown away and the drive letter is reset. Note that since there is a current directory for each drive, os.path.join("c:", "foo") represents a path relative to the current directory on drive C: (c:foo), not c:foo.
Changed in version 3.6: Accepts a path-like object for path and paths.
添加回答
举报