0

WSL2(ubuntu 20.04)でPythonでコードを書くと:

>>import os
>>os.uname()

出力は次のとおりです。

posix.uname_result(sysname='Linux', nodename='Saqib-PC', release='4.19.104-microsoft-standard', version='#1 SMP Wed Feb 19 06:37:35 UTC 2020', machine='x86_64')

しかし、Windows ターミナルで同じコードを実行すると、AttributeError が返されます。

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'os' has no attribute 'uname'

Windows ターミナルと WSL2 の切り取りの両方がここに示されています。

Windows ターミナルの場合: こちらの画像を参照してください

WSL2(Ubuntu 20.04): こちらの画像をご覧ください

ところで:他のosモジュールは両方でファイルを動作させます


なぜそれが起こっているのか誰にも教えてもらえますか?

4

1 に答える 1

0

os.unameUnixディストリビューション/バージョンのサブセットでのみ利用可能です:.

ドキュメントから:

可用性: Unix の最近のフレーバー。

技術的な話に入るまでもなく、WSL は依然として Unix であり、Windows ホスト上の Linux VM が「依然として」Unix であるのと同じです (したがって、そこでos.uname利用可能になります)。

于 2020-07-08T15:32:16.263 に答える