我正在尝试使用shutil.copytree和pandas(apply函数)复制一堆目录。在检查日志时,我注意到由于以下错误,无法复制某些文件:[Errno 2] No such file or directory:PATH,即使路径名是有效的。经过进一步检查,发现Í字符被改成了\xb4,这就解释了为什么找不到该文件。
我尝试遵循此帖子中的建议,尝试将列转换为Unicode。然而,这导致出现以下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xcc in position 20: ordinal not in range(128)
我原本期望打印字符串'DONE',但是我却收到了以下错误消息:
[Errno 2] No such file or directory: 'Y:\project\Test\x01\RAI\xcc\x81.pdf'
编辑:
如果使用原始字符串字面量,则可以这样做:
我仍然得到以下的结果:
我尝试遵循此帖子中的建议,尝试将列转换为Unicode。然而,这导致出现以下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xcc in position 20: ordinal not in range(128)
import pandas as pd
import shutil
def copy_files(row):
try:
shutil.copy(row['1'], row['2'])
return 'DONE'
except Exception as e:
return str(e)
df = pd.DataFrame({'1':['Y:\project\Test\1\RAÍ.pdf'],'2':
['Y:\project\Test\2\RAÍ.pdf']})
df['errors'] = df.apply(copy_files, axis=1)
print(df['errors'][0])
我原本期望打印字符串'DONE',但是我却收到了以下错误消息:
[Errno 2] No such file or directory: 'Y:\project\Test\x01\RAI\xcc\x81.pdf'
编辑:
如果使用原始字符串字面量,则可以这样做:
df = pd.DataFrame({r'1':[r'Y:\project\Test\1'],
'2':[r'Y:\project\Test\2']})
def copy_files(row):
try:
shutil.copytree(row['1'], row['2'])
return 'DONE'
except Exception as e:
return str(e)
df['errors'] = df.apply(copy_files, axis=1)
print(df['errors'][0])
我仍然得到以下的结果:
[('Y:\project\Test\1\RAI\xb4i.pdf', 'Y:\project\Test\2\RAI\xb4i.pdf', "[Errno 2] 没有这样的文件或目录:'Y:\\project\\Test\\1\\RAI\xb4i.pdf'")]