Windows和Linux下Python复制文件提示路径不存在解决

Python复制文件,路径不存在问题(Windows和Linux路径分隔符不统一)。

问题:

Python脚本涉及到复制文件,而我们需要兼容Windows、Linux和Mac环境

(Windows和Linux的路径分隔符不同:通过os.path.sep查看分隔符)

如果用【路径名+os.path.sep+文件名】的形式拼接复制的源和目标路径,windows下会提示路径有问题(例如D:\\test\\test.py)

想到解决方法,使用replace把双斜杠转换为单斜杠

使用replace(“\\”,”\\”)的变量内容还是双斜杠,只有print出来才是单斜杠,所以并没有什么用

解决方法:

最终使用python的【shutil.copy(源文件,目标文件)】方法来复制。

(因为shutil.copy()支持Windows和linux上都使用/opt/scf的反斜杠路径格式)

所以我不用去管操作系统是Windows的额还是linux的

备注:

如果你和我一样使用了os.getcwd()获得当前目录,记得把\\转换为/(否则Windows下会有问题)

代码示例如下:

import os,shutil

rootpath=str(os.getcwd()).replace("\\", "/")

shutil.copy(rootpath + “test1.py",“/opst/scf/test2.py")

相关推荐