Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.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
如何更改文件的权限/属性,使其在使用Python的Windows中不可读_Python_Windows_Permissions_Attributes - Fatal编程技术网

如何更改文件的权限/属性,使其在使用Python的Windows中不可读

如何更改文件的权限/属性,使其在使用Python的Windows中不可读,python,windows,permissions,attributes,Python,Windows,Permissions,Attributes,我正在尝试测试一些代码,为了测试它,我需要在特定位置获得一个异常: def makeThisFunctionReturnTrue(filename): if os.path.exists(input) and os.path.isfile(filename): try: open(filename, "r") except IOError, err: return True return False

我正在尝试测试一些代码,为了测试它,我需要在特定位置获得一个异常:

def makeThisFunctionReturnTrue(filename):
    if os.path.exists(input) and os.path.isfile(filename):
        try: 
            open(filename, "r")
        except IOError, err:
            return True
    return False
我需要找出什么输入文件名会导致上述函数返回True。我认为解决方案在于更改文件中的权限或属性。我可以通过windows资源管理器进入文件属性,然后进入安全性,然后拒绝权限,手动强制执行错误。但是,我需要能够在Python中动态创建文件,然后通过Python更改权限以强制执行错误

我的第一个想法是使用os.chmod;但是,此功能在Windows环境中似乎受到限制

我的一位同事建议我使用win32file.SetFileAttributes,但我找不到任何关于此函数的好文档

谢谢你的帮助


卡勒布·鲁洛

你自己提出这个例外就行了

raise IOError('SUITABLE INFO HERE')

我猜您不喜欢只返回true而不尝试打开文件以集成测试应用程序的其余部分?Win32 file函数或多或少是与Win32 API的直接绑定。请尝试文档:谢谢。我现在正在调查这件事。我从那份文件中找不出答案。我确实找到了一个用C写的人:我不认为这是OP想要的,鉴于他明确要求采用编程方式使文件不可读,@millimoose引用OP-为了测试它,我需要在特定位置获取异常-强制引发异常比在文件系统IMHO上乱搞要好得多。如果Python可以创建这个文件,它几乎是一个给定的文件,你不会得到异常,因为它成功了。我不能更改我正在测试的代码,因为那样会破坏目的。测试特定代码序列的唯一方法是生成IOError。在不更改生成IOError的代码的情况下生成IOError的唯一方法是给它一个没有读取权限的文件。@CalebRouleau我不确定你是否同意我的观点,或者你是否在考虑其他问题;请您澄清一下好吗?millimoose完全正确。我不能像你说的那样做。