os.mknod() fails on MacOS?

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.

Tags:

Python