最近,我正在使用Python模块os,当我尝试更改文件的权限时,没有得到预期的结果。例如,我打算将权限更改为rw-rw-r–,
os.chmod("/tmp/test_file", 664)
所有权许可实际上是-w–wx —(230)
--w--wx--- 1 ag ag 0 Mar 25 05:45 test_file
但是,如果我在代码中将664更改为0664,则结果正是我所需要的,例如
os.chmod("/tmp/test_file", 0664)
结果是:
-rw-rw-r-- 1 ag ag 0 Mar 25 05:55 test_file
有人可以帮助解释为什么前导0对于获得正确结果如此重要吗?
在其他论坛上找到了这个
如果您想知道为什么前导零很重要,那是因为将权限设置为八进制整数,Python自动将任何带有前导零的整数视为八进制。因此os.chmod(“
file”,484)(十进制)将给出相同的结果。
您正在做的是通过664
八进制的1230
在您的情况下,您需要
os.chmod("/tmp/test_file", 436)
[更新]请注意,对于Python 3,您的前缀为0o(零哦)。例如,0o666
spring-boot-mybatis-rw 基于mybatis,springboot开箱即用的读写分离插件 Quick Start 介绍 此插件由以下2部分组成 datasource:读写数据源的代理,支持一写多读,用户只需实现 org.spring.boot.mybatis.rw.starter.datasource.AbstractReadRoutingDataSource这个类,实现自己读
我有一个问题与PHP脚本在我的网络服务器(Apache/2.4.10在Raspbian),我不能生成一个新的文件。我试过chmod 777(这是非常糟糕的做法),但它仍然不起作用。我已经为此挣扎了几天,即使经过广泛的研究,我也找不到解决这个问题的方法。下面是我的代码和它产生的错误消息: 警告:fopen(newfile.txt):无法打开流:第4行 /var/www/html/handlers/w
有没有其他方法使文件成为只读的?
我已经安装了Python 3.5附带的Lubuntu 16.04 LTS,但使用Python 2.7作为默认的Python解释器。< br >两个版本都没有安装< code>pip包。我只会使用3.5版本。因此,我安装了< code>pip3,其中包含: 然后我尝试更新版本(因为Ubuntu存储库有旧版本):$ pip3安装--升级pip3但是找不到包,并给我发了这条消息: 收集pip3<br>找
我可以用代码设置文本粗体: 是的,cell有粗体风格,但它有另一种字体。它有(尺寸:11)。如果我创建没有样式的单元格,我会得到这个单元格:(大小:10)。 好吧,那我试试别的方法: 没有区别。我得到(尺寸: 11)。 但为什么呢?我怎样才能修复它?我希望所有单元格(加粗或不加粗)具有相同的字体名称和大小。我不想手动设置字体。
我想对GitHub上的一个公共项目做些改变(如果有好处的话,可能会有所贡献)。我已经分支并克隆了模块,但我不清楚如何让我的程序导入本地库,而不是“官方”安装的模块。 我尝试将它克隆到我的项目文件夹中,但是当我导入它并尝试使用它时,事情变得很奇怪 我还尝试了做<code>sys.path。附加和文件夹位置。但它似乎仍然进口官方的,而不是分叉的。 我假设我可以把我的程序放在模块文件夹中,这样模块会先被
我有一组用户,我必须为他们分配使用批量编辑的权限。当前,当我选择一个产品时,listviewaction中的buld edit被禁用,我想让某个用户组可以点击它。我是怎么做到的?谢谢。必须具有批量编辑权限的用户组:“SiteManagerGroup”
Linux操作系统中的所有文件和目录都具有访问权限。 此功能使用户能够为每个用户设置不同的访问级别,并且操作系统还能够处理访问文件的不同请求。 此功能使系统对潜在的安全威胁更加安全。 访问权限有三种类型 - Read - 它由'r'和数字4表示,它使用户能够仅读取文件。 Write - 它由'w'和数字2表示,它使用户能够仅写入文件。 Execute - 它由'x'和数字1表示,它使用户能够仅执行