首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我尝试获取文件夹权限列表时,权限被拒绝

当我尝试获取文件夹权限列表时,权限被拒绝
EN

Stack Overflow用户
提问于 2013-12-04 09:26:10
回答 1查看 930关注 0票数 0

我编写了这段代码,它将显示特定文件或文件夹上的用户和组的权限列表。

代码语言:javascript
复制
import os, sys
import win32api
import win32security
import ntsecuritycon as con
from sys import argv


script, FILENAME = argv

def show_cacls (filename):
  print
  print
  for line in os.popen ("cacls %s" % filename).read ().splitlines ():
    print (line)
open (FILENAME,'w')
print (show_cacls(FILENAME))

它可以很好地处理文件,但是当我试图在文件夹上运行时,我会收到以下错误消息:

回溯(最近一次调用):文件"C:\Users\tzuriel\Desktop\test.py",第15行,打开(文件名,'w') PermissionError: Errno 13权限被拒绝:'d:/study‘

我从管理员用户处运行。

知道吗?TNX人

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-04 10:44:59

因为你的问题有点模糊,所以可能有很多错误。我会试着列出一些可能的问题。

在Windows路径中,必须使用反斜杠“\”。在您的错误中,看起来您传递的是'd:/study‘,这不是一个有效的Windows路径。

您不应该使用os.popen来调用外部程序。请查看使用subprocess模块http://docs.python.org/2/library/subprocess.html的示例。

你可以这样做:

代码语言:javascript
复制
import subprocess
import sys    

script, filename = sys.argv

output = subprocess.check_output(["cacls", filename]).splitlines()

for i in output:
    print(i)

这里没有理由在脚本文件中使用函数。我还尝试遵循标准的Python (PEP8)变量格式,如何正确导入模块、空格等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20371476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档