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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM