最近我使用的是Python模块os,当我试图更改文件的权限时,我没有得到预期的结果.例如,我打算将权限更改为rw-rw-r--,
os.chmod("/tmp/test_file", 664)
Run Code Online (Sandbox Code Playgroud)
所有权许可实际上是-w - wx ---(230)
--w--wx--- 1 ag ag 0 Mar 25 05:45 test_file
Run Code Online (Sandbox Code Playgroud)
但是,如果我在代码中将664更改为0664,结果就是我需要的,例如
os.chmod("/tmp/test_file", 0664)
Run Code Online (Sandbox Code Playgroud)
结果是:
-rw-rw-r-- 1 ag ag 0 Mar 25 05:55 test_file
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助解释为什么领先的0对于获得正确的结果如此重要?
我如何在python(3)中创建一个其他用户也可以写的文件.我到目前为止,但它改变了
os.chmod("/home/pi/test/relaxbank1.txt", 777)
with open("/home/pi/test/relaxbank1.txt", "w") as fh:
fh.write(p1)
Run Code Online (Sandbox Code Playgroud)
我得到了什么
--- sr-S - t 1 root root 12 Apr 20 13:21 relaxbank1.txt
预期(在命令行中执行$ sudo chmod 777 relaxbank1.txt)
-rwxrwxrwx 1 root root 12 Apr 20 13:21 relaxbank1.txt
我正在编写一个Python脚本,在其中我将输出写入临时文件,然后在完成并关闭后将该文件移动到其最终目标.当脚本完成时,我希望输出文件具有与正常创建时相同的权限open(filename,"w").实际上,该文件将具有tempfile模块用于临时文件的限制性权限集.
有没有办法让我弄清楚如果我在适当的位置创建输出文件的"默认"文件权限,那么我可以在移动之前将它们应用到临时文件中?