是os.mknod()Mac上的特权电话吗?它总是失败,不允许操作?
In [1]: import os
In [2]: os.mknod("/tmp/test123")
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-2-1b8032a076af> in <module>()
----> 1 os.mknod("/tmp/test123")
OSError: [Errno 1] Operation not permitted
Run Code Online (Sandbox Code Playgroud)
从OSX手册页https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/mknod.2.html
Mknod() requires super-user privileges.
Run Code Online (Sandbox Code Playgroud)
除无效参数外有效
sudo python -c "import os; os.mknod('/tmp/test123')"
Run Code Online (Sandbox Code Playgroud)
不幸的是,mknod需要升级的特权。如果您不需要mknod,则只需使用创建文件open,而无需升级:
open('/tmp/test123', 'w').close()
Run Code Online (Sandbox Code Playgroud)
如果除了创建文件之外还要写入文件:
with open('/tmp/test123', 'w') as file:
file.write('hello world')
Run Code Online (Sandbox Code Playgroud)
with如上使用将自动为您关闭文件。
| 归档时间: |
|
| 查看次数: |
2742 次 |
| 最近记录: |