- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
它是错误还是功能?
当我使用 os.mkdir
创建目录时(与 pathlib.Path.mkdir
同上)和显式模式,创建的目录的权限不适合。如果我使用 os.chmod
强制执行再次,它的工作...
>>> import sys, os
>>> sys.version
'3.4.3 (default, Feb 27 2015, 18:13:37) \n[GCC 4.4.5]'
>>> os.mkdir('truite', mode=0o2770)
>>> oct(os.stat('truite').st_mode)
'0o40750'
>>> os.chmod('truite', 0o2770)
>>> oct(os.stat('truite').st_mode)
'0o42770'
pth
是一个
pathlib.Path
对象):
def make_shared_dir(pth) :
if not pth.parent.is_dir() :
make_shared_dir(pth.parent)
if not pth.is_dir() :
pth.mkdir()
pth.chmod(0o2770)
最佳答案
这是一个特点。
documentation提到它,虽然简短:
os.mkdir(path[, mode])
Create a directory named path with numeric mode mode. The default mode is 0777 (octal). On some systems, mode is ignored. Where it is used, the current umask value is first masked out.
0o022
(一个常见的默认值),新创建的文件/目录将永远不会拥有组或世界写入权限。
0o777
)。所以如果你的umask是
0o022
, 一切都表现得好像真的是
0o7022
.
umask
来检查您当前的 umask。终端中的命令。事实上,umask 是由 Linux 内核在执行
mkdir()
时强制执行的。 Python(和所有其他程序)为创建目录而调用的系统调用。
mkdir()
中亲自查看。 :
man 2 mkdir
:
The argument mode specifies the permissions to use. It is modified by the process's umask in the usual way: the permissions of the created directory are (mode & ~umask & 0777).
0o022
umask),则需要使用 chmod 显式执行此操作。
关于python-3.x - python3 os.mkdir() 不强制执行正确模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37118558/
我正在尝试在 Java 中创建一个新目录,但它不起作用。我想知道为什么,因为我首先尝试了 mkdir() ,然后尝试了 mkdirs() ,它应该创建不存在的目录。 我写道: boolean stat
我尝试使用 mkdir 在本地 git 存储库中创建文件夹。它没有用,但是mkdir -p 有效。 为什么? 顺便说一句,我正在使用 Mac 操作系统。我检查了 mkdir -p 的定义。但是我还是不
我一直在关注 Learn Code the Hard Way 的教程,了解如何在 PowerShell 中使用命令行界面。在 this文章中,它告诉我使用命令 mkdir -p i\like\icec
下面是我的 MainActivity.java 代码。根据 toasts 的错误是在创建目录时。 主 Activity .java @Override protected void onActivit
我使用以下代码: final File newFile = new File("/mnt/sdcard/test/"); newFile.mkdir(); // if I use mkdirs() r
我被这个逼疯了: Log.d("STATE", Environment.getExternalStorageState()); File f = new File(Environment.getExt
我正在创建一个应用程序,我需要创建多个文件夹,而且创建文件夹是一步到位的。 要做最优化,然后我意识到 mkdir() 比 system('mkdir path') 快得多; 有谁知道原因吗? 最佳答案
mkdir $2 || echo "I can't create directory $2" && exit 8 大家好,这是我在这里的第一篇文章,请多多关照。 我现在正在制作一个脚本,这一行让我很困
您好,我最近遇到了这个问题,但能够解决它。实际上路径中的拼写错误。我想知道如何正确处理这些错误。也就是说,如果 mkdir 失败,我的程序应该继续执行并且应该安全地返回 false。这是我的代码 tr
我正在尝试在我的程序开始时创建一个日志文件。 如果 /log 目录没有创建目录,我需要检查它是否存在,然后继续创建日志文件。 好吧,我尝试使用 os.Mkdir(以及 os.MkdirAll),但无论
以下代码可与其他 API 一起使用,但 26 public static boolean cretaeDir() { String dir = Environment.getExternalS
尝试在 PHP 中使用 mkdir() 函数时出现此错误。 基本上,我是在我的服务器上创建一个基于 input field 的 HTML 表单中名为 (inPut) 的 sundomain。 现在我正
为什么 file.mkdir 返回 false? Google 指出可能有多种原因(例如安全性、权限、路径名等)。 我的问题: 如何找到返回false的确切原因? 如果安全/权限是一个原因,那么为什么
我找不到答案的简单问题: 使用 os.mkdir("somedir") 比 os.system("mkdir somedir") 或 subprocess.call() 有好处吗,超越代码可移植性?
这个问题与this question无关.我已经看到它了,但它是特定的 Android 4.4.2 问题,因为该代码在其他版本的 Android 上运行良好。 final File path = ne
os.Mkdir 和 syscall.Mkdir 在 Golang 中有相同的 API 系统调用.Mkdir: func Mkdir(path string, mode uint32) (err er
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 要求代码的问题必须表明对正在解决的问题的最低理解。包括尝试的解决方案、它们为什么不起作用以及预期结果。另
这个问题在这里已经有了答案: What is different between makedirs and mkdir of os? (3 个答案) 关闭 9 个月前。 根据 python 3.6
我通过 bash 中的 mkdir 和 python 中的 os.mkdir 使用文件模式创建了目录。他们制作了具有不同权限的目录。 我在命令行中的测试代码如下, $ mkdir -m 0775 aa
给定: MIGRATION_FOLDER=/opt/migration 要么这样: ssh -tt ${REMOTE_SERVER} sudo sh -c "mkdir -p /opt/migrati
我是一名优秀的程序员,十分优秀!