我有一個名爲「default_xxx.txt」的文本文件列表,例如:default_abc.txt,default_def.txt 我想將文件內容複製到另一個名爲「xxx.txt」的文件中,刪除「default_」。Python:無法複製文件TypeError:強制爲Unicode:需要字符串或緩衝區,找到文件
參考複製的文件在Python如下回答: How do I copy a file in python? 這裏是我的代碼:
import os
import shutil
import re
for root, dirs, files in os.walk("../config/"):
for file in files:
if file.endswith(".txt") and file.startswith("default_"):
file_name = os.path.basename(os.path.join(root, file))
file_name = re.sub(r'default_','',file_name)
config_file = open(os.path.join(root,file_name), 'w+')
shutil.copy(file,config_file)
Traceback (most recent call last):
File "C:\gs2000_IAR\tools\automation\lib\test.py", line 11, in <module>
shutil.copy(file,config_file)
File "C:\Python27\lib\shutil.py", line 117, in copy
if os.path.isdir(dst):
TypeError: coercing to Unicode: need string or buffer, file found
任何人的幫助將非常感激。
請使用{}按鈕格式化代碼。謝謝! – dylrei 2015-01-20 23:33:33
您可能需要copyfileobj()。請參閱:https://docs.python.org/2/library/shutil.html – dylrei 2015-01-20 23:36:54