python 不同OS上的路径转换
2017-07-31 22:58
232 查看
http://www.cnblogs.com/meitian/p/6375058.html
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")
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")
相关文章推荐
- Python中获取路径os.getcwd()和os.path.dirname(os.path.realpath(__file__))的区别和对比
- python学习笔记24(路径与文件 (os.path包, glob包))
- Python遍历路径下文件并转换成UTF-8编码
- python的os.path.join()参数是绝对路径的问题
- 重温python之OS模块的简单使用3:os.chflags()设置路径的标记为数字标记
- Python标准库03 路径与文件 (os.path包, glob包)
- python---到指定URL地址下载图片验证码,并保存不同用户名,Urllib2,urllib,os,range,time
- Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
- Python递归输出字典所有不同深度的路径
- Python标准库03 路径与文件 (os.path包, glob包)
- Python:os.system要启动别的py文件,路径怎么写
- python中os操作文件及文件路径实例汇总
- Python中获取路径os.getcwd()和os.path.dirname(os.path.realpath(__file__))的区别和对比
- 用python做采集时相对路径转换成绝对路径
- Python标准库03 路径与文件 (os.path包, glob包)
- Python3基础 os.path.dirname 对一个路径字符串进行处理 返回路径
- [Python]linux python解释器路径不同写法的区别
- python 简单示例说明os.walk和os.path.walk的不同
- python shell中python os模块实用函数(含改变当前工作路径、显示当前目录等)
- 在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: ‘文件路径’