1 回答

TA貢獻2037條經驗 獲得超6個贊
首先,不論在Windows還是Unix系統(tǒng)下,文件名都是不可能含有'/'字符的。
對于字符串中包含相對路徑的情況,例如"foo/bar",os.path的join方法是可以正確處理的,將'/'人為替換為'-'反而會導致找不到路徑。
這里name
和argv[2]
的具體值你沒有給,出現(xiàn)了什么錯誤也沒有具體說明,這樣幾乎很難理解發(fā)生了什么。
附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.
添加回答
舉報