尝试使用 xlrd 或 shutil 访问文件夹中的文件时出现权限被拒绝的问题
permission denied issue when trying to access files in a folder with xlrd or shutil
编辑:我删除了它,但我打算取消删除,因为我认为它可能会有用。 post 实际发生的事情是我当时没有意识到的。
原始问题:我正在尝试打开一组 excel 个文件,其中一个当前已被另一个用户打开。所有其他文件都有效,但这个文件出现 'permission denied' 错误。
Windows 为您提供 "read only" 打开文件的选项,但我似乎无法在 python (xlrd) 中找到等效项,所以我想我会复制文件到一个临时位置并打开它;但这也不管用。无论哪种情况,我都会得到:
IOError: [Errno 13] Permission denied:
是否可以:
- 在 xlrd
中以只读模式(如 windows)打开一个 excel 文件
- 复制另一个用户当前正在使用的文件
谢谢!
事实证明,我失败的文件也被其他用户打开,所以当我通过 windows 资源管理器访问它们时,另一个打开文件的用户似乎很自然地会导致权限拒绝错误;然而,真正的问题是,当我在文件夹中循环时,我试图访问由 Excel 为访问该文件的其他用户创建的临时文件。
因此,对于用户打开的给定文件 "old_file.xlsx",他们的 excel 实例创建了“~$old_file.xlsx”
我是如何解决这个问题的:
files_to_check = [f for f in os.listdir(PATH) if os.path.isfile(f)]
files_to_check = [f for f in files_to_check if '~' not in f and 'xlsx' in f]
基本上,只要确保它们是我计划处理的非临时 xlsx 文件即可。
编辑:我删除了它,但我打算取消删除,因为我认为它可能会有用。 post 实际发生的事情是我当时没有意识到的。
原始问题:我正在尝试打开一组 excel 个文件,其中一个当前已被另一个用户打开。所有其他文件都有效,但这个文件出现 'permission denied' 错误。
Windows 为您提供 "read only" 打开文件的选项,但我似乎无法在 python (xlrd) 中找到等效项,所以我想我会复制文件到一个临时位置并打开它;但这也不管用。无论哪种情况,我都会得到:
IOError: [Errno 13] Permission denied:
是否可以:
- 在 xlrd 中以只读模式(如 windows)打开一个 excel 文件
- 复制另一个用户当前正在使用的文件
谢谢!
事实证明,我失败的文件也被其他用户打开,所以当我通过 windows 资源管理器访问它们时,另一个打开文件的用户似乎很自然地会导致权限拒绝错误;然而,真正的问题是,当我在文件夹中循环时,我试图访问由 Excel 为访问该文件的其他用户创建的临时文件。
因此,对于用户打开的给定文件 "old_file.xlsx",他们的 excel 实例创建了“~$old_file.xlsx”
我是如何解决这个问题的:
files_to_check = [f for f in os.listdir(PATH) if os.path.isfile(f)]
files_to_check = [f for f in files_to_check if '~' not in f and 'xlsx' in f]
基本上,只要确保它们是我计划处理的非临时 xlsx 文件即可。