授予在Python中访问目录的权限
背景: 我正在运行情绪分析,它需要Linux或Mac才能运行。我们的网络文件系统需要访问数据集的权限,我正试图找出如何通过我的代码授予该权限,以便我可以对数据运行预处理脚本并将其存储到网络,因为我不允许在本地存储数据。通过直接连接到服务器,我可以通过Linux双启动来访问这些文件,但是当我运行代码时,这个权限不会在整个系统中传递 尝试: 我尝试使用os.walk(dir,topdown=True)访问dir,当我逐步通过调试器时,我看到以下消息:授予在Python中访问目录的权限,python,directory,permissions,filesystems,os.walk,Python,Directory,Permissions,Filesystems,Os.walk,背景: 我正在运行情绪分析,它需要Linux或Mac才能运行。我们的网络文件系统需要访问数据集的权限,我正试图找出如何通过我的代码授予该权限,以便我可以对数据运行预处理脚本并将其存储到网络,因为我不允许在本地存储数据。通过直接连接到服务器,我可以通过Linux双启动来访问这些文件,但是当我运行代码时,这个权限不会在整个系统中传递 尝试: 我尝试使用os.walk(dir,topdown=True)访问dir,当我逐步通过调试器时,我看到以下消息: top = fspath(top)
top = fspath(top)
dirs = []
nondirs = []
walk_dirs = []
# We may not have read permission for top, in which case we can't
# get a list of the files the directory contains. os.walk
# always suppressed the exception then, rather than blow up for a
# minor reason when (say) a thousand readable directories are still
# left to visit. That logic is copied here.
当我跳转到fspath(path)的定义时,我也看不到任何有用的东西
我阅读了的文档,但我已经知道我没有权限访问这些文件。它确实在底部这样说,但它没有告诉我一个解决方法:
Note
I/O operations may fail even when access() indicates that they would succeed,
particularly for operations on network filesystems
which may have permissions semantics beyond the usual POSIX permission-bit model.
TLDR:
那么,是否有人有任何解决方案可以访问和写入本地网络服务器上需要权限的目录?我可以做Python、java和C++,所以我对任何存在的解决方案都开放!提前谢谢已解决:需要在末尾添加noperm以使用写权限装载
sudo mount.cifs <domain> /home/<mount location> -o username=<username>,vers=<set accordingly>,noperm
sudo mount.cifs/home/-o username=,vers=,noperm
为什么您无法访问这些文件?您希望您的代码更改他们的访问权限吗?@MatthewKligerman到目前为止,代码似乎没有提供添加访问文件所在服务器所需的密码或用户名的机会。到目前为止,我找到的唯一解决方案是将文件系统从网络装载到我的Linux启动系统上。os.system(f“chmod-ro+rwX{dir}”)或类似的东西不会这样做吗?@root谢谢。我在上周发现了这一点,并尝试了以下方法,但没有得到允许的错误。有什么建议吗?amy@AmysPC:/mnt$chmod+rwx 11-CSV\converted/chmod:更改“11-CSV converted/”的权限:不允许操作amy@AmysPC:/mnt$chmod g+w 11-CSV\converted/chmod:更改“11-CSV converted/”的权限:不允许操作\您可以写入网络文件系统,也可以不写入。如果是,则需要确定允许哪些用户编写,然后以此类用户的身份登录并运行程序,或者使用sudo-u
运行程序,以允许您执行的任何操作为准。