【发布时间】:2019-10-13 03:16:41
【问题描述】:
我试图将一个文件的内容复制到另一个文件,但出现错误,我做错了什么?
for file in os.listdir('offer'):
if '.css' in file:
print(file)
with open(f'offer/{file}', 'r+') as f:
with open('offer/id.css', 'w+') as style_file:
shutil.copyfile(f'offer/{f}', f'offer/{style_file}')
Traceback (most recent call last):
File "C:/Users/Katerina/Desktop/python/test_attempt.py", line 50, in <module>
shutil.copyfile(f'offer/{f}', f'offer/{style_file}')
File "C:\Users\Katerina\AppData\Local\Programs\Python\Python37-32\lib\shutil.py", line 120, in copyfile
with open(src, 'rb') as fsrc:
OSError: [Errno 22] Invalid argument: "offer/<_io.TextIOWrapper name='offer/id.css' mode='r+' encoding='cp1251'>"
【问题讨论】:
-
您将文件处理程序传递给字符串格式化程序。不太清楚为什么需要打开文件...只需将
offer/{file}和offer/id.css作为 args 传递给 copyfile? -
shutil.copyfile只是将一个命名文件替换为另一个;它接受文件名,而不是打开的文件句柄,作为参数。 -
试图通过打开删除,现在我需要的文件只保存最后一个文件用于循环数据,但我需要全部捕获
标签: python file shutil file-copying