Is os.mknod()
a privileged call on Mac? It always fails with operation not permitted?
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
From the OSX manpage https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/mknod.2.html
Mknod() requires super-user privileges.
Works except from the invalid argument
sudo python -c "import os; os.mknod('/tmp/test123')"
Unfortunately mknod
requires escalated privileges. If you don't need mknod
specifically though, just create the file with open
, which doesn't require escalation:
open('/tmp/test123', 'w').close()
If you want to write to the file in addition to creating it:
with open('/tmp/test123', 'w') as file:
file.write('hello world')
Using with
as above will automatically close the file for you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With