Python module 'os' has no attribute 'mknod'
Asked Answered
K

1

15

I want to create a new file in Python for that I am using mknod command, but getting error as:

os.mknod();
AttributeError: module 'os' has no attribute 'mknod'

I am using windows and attributes other than 'mknod' are working.

Kuhns answered 21/9, 2015 at 9:42 Comment(4)
To expand vaultahs comment: You might have an own file called os.py which shadows the built-in package.Aronow
Hmm - a guess - are you on Windows...? As you're talking about os calls, The Operating System you're working on is essential information...Gregor
Why are you trying to create a filesystem node without specifying a name?Striper
first: you must have os.py in your path that shadows builtin module; second: why you are using mknod for the file? use open; third mknod without parameters? and what is this semicolon at the end? ;)Jannajannel
J
10

os offers functionality that is closely related to the OS you're using. If most other attributes can be accessed from os (meaning you haven't got a os.py file in the current dir masking the standard module) an AttributeError will 99% signal an unsupported function on your Operating System.

This is what the case is with os.mknod on Windows. Creating named pipes in Windows has, as far as I can understand, very different semantics.

Either way, if you are trying to use mknod to create named pipes you'd probably be better using mkfifo() (again, only Unix supported) . If you're using it to create ordinary files, don't, use open() which is portable.

Janeenjanek answered 19/7, 2016 at 12:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.