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.uname仅适用于Unix发行版/版本的子集:。

文档

可用性:Unix 的最新版本。

在不涉及技术细节的情况下,WSL 仍然是 Unix,就像 Windows 主机上的 Linux VM“仍然”是 Unix(因此os.uname将在那里可用)。

于 2020-07-08T15:32:16.263 回答