Python:导入模块和库

时间:2019-07-19 13:51:19

标签: python-3.x

以下语句之间有什么区别?

  1. import os

  2. from os import *

它们是同一件事吗?如果是这样,为什么有两种说法呢?

2 个答案:

答案 0 :(得分:1)

from os import *从os导入所有方法,应该避免。

import os仅导入名称空间,并允许您通过在os前面加上前缀os.

来调用方法。

答案 1 :(得分:1)

reaction product 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 ... 35.5 36.0 36.5 37.0 37.5 38.0 38.5 39.0 39.5 40.0 81 155Gd-p 062150.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 1.101530e-02 1.253720e-02 1.404620e-02 1.562480e-02 1.713510e-02 1.855860e-02 1.989160e-02 2.113160e-02 2.228710e-02 2.333700e-02 82 155Gd-p 065156.L00 0.0 0.0 0.0 0.0 2.842720e-10 4.331690e-09 3.176340e-08 1.873100e-03 ... 1.836500e-01 1.803630e-01 1.728360e-01 1.606180e-01 1.685970e-01 1.679980e-01 1.639340e-01 1.538330e-01 1.639280e-01 1.656980e-01 83 155Gd-p 063149.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 6.990920e+00 7.877440e+00 8.781220e+00 9.594980e+00 1.034780e+01 1.097080e+01 1.156940e+01 1.196730e+01 1.230900e+01 1.241800e+01 84 155Gd-p 061146.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 9.529110e-04 85 155Gd-p 061147.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 1.000000e-07 1.000000e-07 1.000000e-07 1.000000e-07 1.000000e-07 1.063060e-03 1.130870e-03 1.172590e-03 1.180610e-03 1.165960e-03 86 155Gd-p 062151.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 1.000000e-07 1.000000e-07 ... 1.041300e-03 1.076720e-03 1.090690e-03 1.109420e-03 1.137780e-03 1.135450e-03 1.128680e-03 1.149190e-03 1.143860e-03 1.150390e-03 87 155Gd-p 063154.L00 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 3.173660e+00 3.444480e+00 3.724070e+00 4.007600e+00 4.323930e+00 4.673050e+00 4.971810e+00 5.346970e+00 5.661720e+00 6.060110e+00 88 155Gd-p 064150.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 2.579220e-03 4.992070e-03 9.679620e-03 2.035170e-02 3.447910e-02 5.437450e-02 9.089650e-02 1.471190e-01 2.126190e-01 2.896810e-01 89 155Gd-p 064154.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 2.337670e+02 2.386140e+02 2.390300e+02 2.431350e+02 2.413420e+02 2.446070e+02 2.421500e+02 2.447660e+02 2.425080e+02 2.446910e+02 90 155Gd-p 062148.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.172560e-03 1.722920e-03 91 155Gd-p 061148.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 1.000000e-07 1.000000e-07 1.000000e-07 1.000000e-07 1.000000e-07 6.300980e-05 6.278910e-05 6.094680e-05 5.998620e-05 5.900480e-05 92 155Gd-p 063153.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 3.136120e+00 3.390600e+00 3.631630e+00 3.958020e+00 4.197170e+00 4.564750e+00 4.762130e+00 4.948580e+00 5.314960e+00 5.549590e+00 93 155Gd-p 063152.tot 0.0 0.0 0.0 0.0 1.000000e-07 1.000000e-07 1.000000e-07 1.000000e-07 ... 2.371420e+00 2.502180e+00 2.629100e+00 2.699470e+00 2.818750e+00 2.972010e+00 3.188610e+00 3.416830e+00 3.648320e+00 3.884690e+00 94 155Gd-p 065151.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 6.969380e+01 1.072870e+02 1.483310e+02 1.996210e+02 2.548350e+02 3.046590e+02 3.501350e+02 3.969820e+02 4.371780e+02 4.748900e+02 95 155Gd-p 063150.L01 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 2.297790e+00 2.303140e+00 2.279280e+00 2.212180e+00 2.171240e+00 2.134990e+00 2.086730e+00 2.017590e+00 1.979700e+00 1.957500e+00 96 155Gd-p 065152.tot 0.0 0.0 0.0 0.0 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 ... 7.834620e+02 7.493000e+02 7.095910e+02 6.583400e+02 6.050390e+02 5.525560e+02 5.055030e+02 4.521510e+02 4.095180e+02 3.664050e+02

将名称os引入命名空间,因此os名称变得唯一。

因此,使用import os将从文件描述符fd中读取n个字节。

os.read(fd, n)

将模块os中的所有名称带入全局名称空间。因此,我们可以直接使用from os import *

read(fd,n)的问题:

如果我们在本地名称空间中拥有自己的函数read(fd,n),则使用from os import *,我们将获得2个同名函数,而解释器将使用具有该名称的本地函数。

如果我们创建一个带有read(fd,n)函数的模块,该模块的名称与os模块中的名称相同(两个函数的名称都在全局名称空间中),则解释器将仅使用其中之一。 >