Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
copyfile生成的文件可以';不能打开吗?(Python)*已解决*_Python_File_Directory_Shutil - Fatal编程技术网

copyfile生成的文件可以';不能打开吗?(Python)*已解决*

copyfile生成的文件可以';不能打开吗?(Python)*已解决*,python,file,directory,shutil,Python,File,Directory,Shutil,我正在开发一个处理文件和目录的程序,我的任务是从列表中提取一些文件并复制它们,并在末尾附加扩展名“.copy”。然而,当我进入Finder打开这些复制的文件时,我得到的信息是“不支持的文件类型”。有人能解释一下我做错了什么吗 顺便说一句,我在用MacBook Pro def copy_files (c_list = [Path]): d_list = [] for element in c_list: shutil.copyfile (element.name, e

我正在开发一个处理文件和目录的程序,我的任务是从列表中提取一些文件并复制它们,并在末尾附加扩展名“.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

问题可能是一些文件浏览器自行处理文件,不遵循操作系统本机约定,即:通过扩展名而不是mimetype注册文件开启器。由于您在文件名末尾附加了
.copy
,Explorer可能有问题。请尝试删除.copy扩展名并再次打开它

如果仍然不起作用,假设您使用的是Mac OS本机文件导出器,它知道如何正确处理其操作系统的文件,请参阅Python3文档中的此警告表单:

警告即使是更高级别的文件复制功能(
shutil.copy()
shutil.copy2()
)也无法复制所有文件元数据。 在POSIX平台上,这意味着文件所有者和组也将丢失 作为ACL在Mac OS上,不使用资源叉和其他元数据。 这意味着资源将丢失,文件类型和创建者代码也将丢失 将不正确。在Windows、文件所有者、ACL和备用数据上 流不会被复制


我希望这有帮助!:)

删除新的扩展成功了!非常感谢你!