Python windows上的os.path.join()?
我想在windows上编写以下代码: join(folder1+“/”+folder2) 它在MAC中工作正常,但在windows中它给了我一个错误:OSError:[WinError 123]文件名、目录名或卷标语法不正确:“C:\Users\Khalaf\Desktop\test\dataset images\x.jpg'->”C:\Users\Khalaf\Desktop\test\dataset images\C:\Users\Khalaf\Desktop\test\dataset-images-1.jpg”Python windows上的os.path.join()?,python,path,Python,Path,我想在windows上编写以下代码: join(folder1+“/”+folder2) 它在MAC中工作正常,但在windows中它给了我一个错误:OSError:[WinError 123]文件名、目录名或卷标语法不正确:“C:\Users\Khalaf\Desktop\test\dataset images\x.jpg'->”C:\Users\Khalaf\Desktop\test\dataset images\C:\Users\Khalaf\Desktop\test\dataset-im
os.path.join(folder1 + "\\" + folder2)
MAC和Linux与singe合作/
但在窗户里我们必须通过\\
试试这些,它会起作用的用逗号分隔两个文件夹
os.path.join(folder1, folder2)
这个函数为windows创建了一个等价的函数,我想它是\我正在尝试学习python,并且正在制作一个输出脚本的程序。我想使用os.path.join,但我很困惑 join('c:','sourcedir') 当我使用copytree命令时,Python将以所需的方式输出它,例如: 进口舒蒂尔 src=os.path.join('c:','src') dst=os.path.join('c:','dst') shutil.copytree(src,dst) Windows对每个驱动器都有一个当前目录的概念。因此,“c:sourcedir”在当前c:directory中的意思是“sourcedir”,您需要指定一个绝对目录 其中任何一个都可以工作,并给出相同的结果,但我目前没有启动Windows VM来进行双重检查: “c:/sourcedir” join(“/”,“c:”,“sourcedir”)
join(“c:/”,“sourcedir”)这是否回答了您的问题?您必须正确使用
os.path.join()
:os.path.join(folder1,folder2)
。分隔符是由函数添加的。我需要路径之间的“/”。您也可以使用os.pathsep
而不是/
。在Windows上,您不需要“路径之间的“/”,因为/在Windows文件名中是非法字符os.path.join()
知道,即使您不知道,它也会给我:OSError:[WinError 123]文件名、目录名、,或卷标语法不正确:“C:\\Users\\Khalaf\\Desktop\\test\\dataset images\\x.jpg'->”C:\\Users\\Khalaf\\Desktop\\test\\dataset images\\C:\\Users\\Khalaf\\Desktop\\test\\dataset-images-1.jpg'请共享folder1和folder2路径folder1:C:\Users\Khalaf\Desktop\test,,folder2:C:\Users\Khalaf\Desktop\test\dataset Images我使用os.path.basename解决了它,非常感谢您的提示