我正在开发一个处理文件和目录的程序,我的任务是从列表中获取一些文件并对其进行复制,并在末尾附加扩展名'.copy'。但是,当我进入Finder打开这些复制的文件时,我得到的消息是这些是“不受支持的文件类型”。有人可以解释我在做什么错吗?
我正在使用MacBook Pro。
def copy_files (c_list = [Path]):
d_list = []
for element in c_list:
shutil.copyfile (element.name, element.name + '.copy')
return d_list
答案 0 :(得分:1)
问题可能是某些文件浏览器自行处理文件,而不遵循操作系统本机约定,即:通过扩展名而不是mimetype注册文件打开器。由于您在文件名的末尾附加了.copy
,因此exporer可能有问题。尝试删除.copy扩展名,然后再次将其打开。
如果仍然无法使用,假设您使用的Mac OS本机文件浏览器知道如何正确处理OS的文件,请参考Python3文档中的以下警告:
警告 即使是更高级别的文件复制功能(
shutil.copy()
,shutil.copy2()
)也无法复制所有文件元数据。 在POSIX平台上,这意味着文件所有者和组也会丢失 作为ACL。 在Mac OS上,不使用资源派生和其他元数据。 这意味着资源将丢失,文件类型和创建者代码也将丢失 将不正确。 在Windows上,文件所有者,ACL和备用数据 流不会被复制。
我希望这会有所帮助! :)