2015-09-21 3 views
7

が、取得中にエラーがありません:私は窓を使用していますPythonモジュール「OSは」と全く属性私は<code>mknod</code>コマンドを使用していますそのためのPythonで新しいファイルを作成したい「のmknod」

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

をし、他の属性'mknod'が動作しています。

+2

'os .__ file__'を出力 – vaultah

+1

vaultahsコメントを展開するには:組み込みパッケージをシャドーする' os.py'というファイルがあります。 – Matthias

+0

うーん、あなたはWindows上にいますか?あなたが 'os'呼び出しについて話しているように、あなたが作業しているオペレーティングシステムは重要な情報です... –

答えて

3

osは、使用しているOSに密接に関連する機能を提供します。他のほとんどの属性にosからアクセスできる場合(つまり、標準モジュールをマスクしている現在のディレクトリにos.pyファイルがないことを意味します)、AttributeErrorは、オペレーティングシステムでサポートされていない機能を99%通知します。

これはWindowsの場合os.mknodの場合です。 Windowsに名前付きパイプを作成すると、理解できる限り、very different semanticsがあります。

どちらの場合でも、mknodを使用して名前付きパイプを作成する場合は、mkfifo()を使用する方が良いでしょう(ここでもUnixのみがサポートされます)。普通のファイルを作成するのにそれを使用しているのであれば、ポータブルであるopen()を使ってはいけません。

関連する問題