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")