我試圖複製一個文件,括號替換爲自己的正則表達式
>>> originalFile = '/Users/alvinspivey/Documents/workspace/Image_PCA/spectra_text/HIS/jean paul test 1 - Copy (2)/bean-1-aa.txt'
>>> copyFile = os.system('cp '+originalFile+' '+NewTmpFile)
但必須先更換open函數之前的空間和括號將工作:
/用戶/ alvinspivey /文檔/ workspace/Image_PCA/spectra_text/HIS/jean \ paul \ test \ 1 \ - \ Copy \\(2 \)/ bean-1-aa.txt
spaces'' - >''' 括號' (' - >'\('等)
更換空間工作:
>>> originalFile = re.sub(r'\s',r'\ ', os.path.join(root,file))
但括號返回一個錯誤:
>>> originalFile = re.sub(r'(',r'\(', originalFile)
回溯(最近通話最後一個): 文件 「」,1號線,在 文件「/庫/框架/ Python.framework /版本/ 2.7/lib/python2.7/re.py「,第151行,在子 返回_compile(模式,標誌).sub(複製,字符串,計數) 文件」/ Library/Frameworks /Python.framework/Versions/2.7/lib/python2.7/re.py「,第244行,在_compile 引發錯誤,v#無效表達式 sre_constants.error:不平衡括號
我是否正確地替換括號?
此外,當使用re.escape()爲此時,文件不能正確返回。所以它不是一個選擇。
編輯補充「蟒蛇「 標籤。 –
您可以使用[shutil.copy](http://docs.python.org/library/shutil.html)(copy2或copyfile)而不是system cp命令,從而避免需要在第一個位置轉義路徑地點。 – Marty