导航:首页 > 编程语言 > pythoncmd导入模块

pythoncmd导入模块

发布时间:2023-05-23 16:34:26

‘壹’ python怎么从别处导入模块

肯定不能直接
import
一,最好放在统一的地方,目录最好在python.exe的目录下,因为python默认是搜索改目录下的文件或者文件夹
二、尽量采用from
~~
import
~~方式,不要直接用import方式,具体原因楼主可以自己网络下原因,理解更深刻
三、当逻辑文件放的比较深的时候,需要__init__.py文件
四、如果文件不在python安装目录下,需要手动指定文件文件目录,具体原因楼主可以自己网络下原因,理解更深刻

‘贰’ Python中怎么引入模块

项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包
如果是web 下,比如说django ,那么你新建一个app,把你需要导入的说用东东,都写到这个app中,然后在setting中的app也配上基本就ok了
如果是本地代码,可以有几种方式,
1、这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录
folder
------toinvoke.py
------tobeinvoded.py
这样在toinvoke.py 中引入
import toveinvoked 或 from tobeinvoked import *
即可
2、你的其他文件不是单个文件,或者不能如上所说放到同一目录下,而是在不同目录中,子目录
folder
------tobeinvodedA.py
------tobeinvodedB.py
------tobeinvodedC.py
toinvoke.py
这种情况,现在folder 下新建一个__init__.py 的空文件,此时的folder不再是一个普通的文件夹,而是一个包 package,现在像这样
folder #文件夹 现在的性质为一个python包package
------__init__.py
------tobeinvoded.py
------tobeinvodedA.py
------tobeinvodedB.py
------tobeinvodedC.py
toinvoke.py
这样在toinvoke.py 中引入
import folder.toveinvoked 或 from folder.tobeinvoked import *
即可
3、同理,如果是如下的情况,folderB中的模块要调用folderA中的模块,方法同上,有什么改变,你已经知道了

folderA
------tobeinvoded.py
------tobeinvodedA.py
------tobeinvodedB.py
------tobeinvodedC.py

folderB
--------toinvoke.py

这样在toinvoke.py 中引入

import folder.toveinvoked 或 from folder.tobeinvoked import *
即可
4、将要被调用的代码拷贝到$PYTHONHOME$\Lib\site-packages 下面,这个就跟Eclipse插件安装差不多

5、在$PYTHONHOME$\Lib\site-packages 下面新建一个.pth文件,比如说是MyPackage.pth,里面的内容是你的包的绝对路径比如:E:/PythonPrj
那么,在E:/PythonPrj下的所有包都可以按照包所在的相对路径引入,这个跟Eclipse插件安装的link 方式差不多
6、跟上面的差不多,也可以加个环境变量,这个就不多说了

总结、看看Python的包搜索路径
Python会在以下路径中搜索它想要寻找的模块:
1. 程序所在的文件夹
2. 标准库的安装路径
3. 操作系统环境变量PYTHONPATH所包含的路径

将自定义库的路径添加到Python的库路径中去,有如下两种方法:
1. 动态的添加库路径。在程序运行过程中修改sys.path的值,添加自己的库路径
import sys
sys.path.append(r'your_path')
2. 在Python安装目录下的\Lib\site-packages文件夹中建立一个.pth文件,内容为自己写的库路径。示例如下
E:\\work\\Python\\http
E:\\work\\Python\\logging

‘叁’ python导入模块的“最佳实践”是什么

通常,不要使用from molename import *。这样做会使导入器的命名空间变得混乱,并且使得连接器更难以检测未定义的名称。

在文件的顶部导入模块。这样做可以清楚地了解代码所需的其他模块,并避免了模块名称是否在范围内的问题。每行导入一个模块可以轻松添加和删除导入的模块,但每行导入多个模块会占用更少的屏幕空间。

如果按以下顺序导入模块,这是一种很好的做法:

1.标准库模块 -- 例如:sys,os,getopt,re

2.第三方库模块(安装在Python的site-packages目录中的任何内容) -- 例如mx.DateTime,ZODB,PIL.Image等

3.本地开发的模块

有时需要将模块导入语句移动到函数或类里面,以避免循环导入问题。Gordon McMillan 说:

当两个模块都使用 "import <mole>" 的导入形式时,循环导入就可以了。但是当第 2 个模块想从第 1 个模块中获取一个名称 ("from mole import name") 并且导入位于顶层时,就会出错。 这是因为第 1 个模块中的名称还不可用,因为第 1 个模块正在忙着导入第 2 个模块。

在这种情况下,如果第二个模块仅用于一个函数,则可以轻松地将模块导入语句移动到该函数中。调用导入时,第一个模块将完成初始化,第二个模块可以进行导入。

如果某些模块是特定于平台的,则可能还需要将模块导入语句移出顶级代码。在这种情况下,甚至可能无法导入文件顶部的所有模块。在这种情况下,在相应的特定于平台的代码中导入正确的模块是一个很好的选择。

只有当需要解决诸如避免循环导入或试图减少模块初始化时间的问题时,才可以将导入移动到本地范围,例如在函数定义中。如果根据程序的执行方式,许多导入是不必要的,这种技术尤其有用。如果仅在某个函数中使用模块,您还可能希望将导入移到该函数中。请注意,第一次加载模块可能会因为模块的一次初始化而代价高昂,但多次加载模块实际上是免费的,只需进行几次字典查找。即使模块名称超出了作用域,模块也可能在 sys.moles 中可用。

‘肆’ 如何导入python中的模块

定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为后缀名进行保存,任何此类文件都会被认为是python模块。
比如说,下面的代码输入到一个文件中,就可以看作是一个模块:
def
printme(var):
print
varif
__name__
==
'__main__':
printme(1)
假设说输入到a.py中,那么import
a就可以把这个模块导入。
然后可执行a.printme(3),屏幕即可打印出3:
>>>
a.printme(3)3>>>
一个模块顶层定义的变量,会自动变成模块的属性。例如:
data=[1,2,3]def
printme(var):
print
varif
__name__
==
'__main__':
printme(1)
data变量就是模块的一个属性。其实printme也是一个属性,只不过是一个函数罢了。
引入模块示例如下:(假定此时data=[1,2,3]未定义)
>>>
import
a>>>
a.data
Traceback
(most
recent
call
last):
File
"<pyshell#1>",
line
1,
in
<mole>
a.dataAttributeError:
'mole'
object
has
no
attribute
'data'>>>
reload(a)<mole
'a'
from
'C:/py\a.pyc'>>>>
a.data
Traceback
(most
recent
call
last):
File
"<pyshell#3>",
line
1,
in
<mole>
a.dataAttributeError:
'mole'
object
has
no
attribute
'data'>>>
从上述提示可以看出data属性未定义,此时再在a.py文件中定义data=[1,2,3],重新加载a模块,并输出data属性:
>>>
reload(a)<mole
'a'
from
'C:/py\a.py'>>>>
a.data[1,
2,
3]>>>
这里的reload函数可以重新加载一个模块。如果在模块代码中更改了,那么需要重新加载。
上面a.data,就是访问模块中的属性。
上面的例子是导入一个文件作为一个模块。
其实python的模块导入还有更丰富的内容。
除了模块名之外,python也可以导入指定目录路径。python代码的目录就称为包。因此,这类导入就称为包导入。事实上,包导入是把计算机上的目录变成python的一个命名空间。而属性就是目录中包含的子目录或者是模块文件。
看下面例子:
在我的桌面上有一个aa文件夹,里面有bb文件夹,bb里面有a.py这个文件。
那么在aa和bb文件夹中分别放置一个__init__.py,之后,在命令行中import
aa.bb.a,就可以导入模块a了。

‘伍’ python如何导入自定义模块

1、相同目录下,若在程序test1.py中导入模块mod1,
则直接使用import
mod1或from
mod1
import
*;
2、主程序所在目录是模块所在目录的父(或祖辈)目录则要建立空文件__init__.py文件然后使用
from
mod2.mod2
import
*

‘陆’ python commands 需要导入 哪个模块

要获得shell命令的输出只需要`cmd`就可以了,
需要得到命令执行的状态则需要判断$?的值, 在Python中有一个模块commands也很容易做到以上的效果.

看一下三个函数:

1). commands.getstatusoutput(cmd)

用os.popen()执行命令cmd, 然后返回两个元素的元组(status, result). cmd执行的方式是{ cmd ; } 2>&1, 这样返回结果里面就会包含标准输出和标准错误.

2). commands.getoutput(cmd)

只返回执行的结果, 忽略返回值.

3). commands.getstatus(file)

返回ls -ld file执行的结果.

看一下这些函数使用的例子:
>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'

‘柒’ python怎么导入同一包的模块

一、何为模块

1.一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。

2.模块目的和函数,对象等一样,是为了代码的复用性而存在的。即一个py程序写了很多功能,也可以被其他py程序调用。被调用后被作为模块,此时会产生一个pyc的文件即为这个模块的缓存文件,相当于编译了模块文件使该py模块被调用的速度变快。一个大的项目一个人肯定是不行的,所以模块也为程序员相互间的合作提供了便利。

二、模块妙用

1.import

只需要在py程序开头加上import 文件名(不能有.py后缀)。例如,模块的文件名是span.py,那么只需在自己的py程序加import span。

2. import可以在程序的任意位置调用,但一次调用后会驻留内存,下次再调用会直接调用内存中的模块(python的优化)。

3.个模块都是一个独立的名称空间,定义在这个模块中的函数,把这个模块的名称空间当做全局名称空间,这样我们在编写自己的模块时,就不用担心我们定义在自己模块中全局变量会在被导入时,与使用者的全局变量冲突。

print('from the spam.py')

money=1000def read1(): print('spam->read1->money',1000)def read2(): print('spam->read2 calling read')
read1()def change(): global money
money=0

支持tab自动补全

‘捌’ Python如何引入自定义模块

1、相同目录下,若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;
2、主程序所在目录是模块所在目录的父(或祖辈)目录则要建立空文件__init__.py文件然后使用 from mod2.mod2 import *

‘玖’ 如何在python中添加自定义模块

1、说明

python添加自定义第三方模块使用pip命令。

2、步骤

以安装requests模块为例说明

1)打开命令行

win+r打开运行,输入cmd点确定

如不报错则说明安装成功

‘拾’ python 2 python 3共存 cmd pip安装模块,怎么让python3导入

想学习Python3,但是暂时又离不开Python2。在Windows上如何让它们共存呢?
目前国内网站经常会让大家把其中一个python.exe改个名字(嗯,我也这样讲过,在此纠正一下),这样区分开两个可执行文件的名字,但是这样做有一个重大的隐患,就是修改了名字的那个python对应的pip将无法使用。
官方的解法是什么?
事实上这个问题几年以前Python社区就给出了官方解决方案,只不过国内一直没有注意到罢了。
我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认放置在文件夹C:\Windows\下面。这个启动器允许我们指定使用Python2还是Python3来运行代码(当然前提是你已经成功安装了Python2和Python3)。
如果你有一个Python文件叫 hello.py,那么你可以这样用Python2运行它
py -2 hello.py
类似的,如果你想用Python3运行它,就这样
py -3 hello.py
去掉参数 -2/-3

每次运行都要加入参数-2/-3还是比较麻烦,所以py.exe这个启动器允许你在代码中加入说明,表明这个文件应该是由python2解释运行,还是由python3解释运行。说明的方法是在代码文件的最开始加入一行
#! python2
或者
#! python3
分别表示该代码文件使用Python2或者Python3解释运行。这样,运行的时候你的命令就可以简化为
py hello.py
使用pip
当Python2和Python3同时存在于windows上时,它们对应的pip都叫pip.exe,所以不能够直接使用 pip install 命令来安装软件包。而是要使用启动器py.exe来指定pip的版本。命令如下:
py -2 -m pip install XXXX
-2 还是表示使用 Python2,-m pip 表示运行 pip 模块,也就是运行pip命令了。如果是为Python3安装软件,那么命令类似的变成
py -3 -m pip install XXXX
#! python2 和 # coding: utf-8 哪个写在前面?

对于Python2用户还有另外一个困惑,Python2要在代码文件顶部增加一行说明,才能够在代码中使用中文。如果指明使用的Python版本也需要在文件顶部增加一行,那哪一行应该放在第一行呢?
#! python2 需要放在第一行,编码说明可以放在第二行。所以文件开头应该类似于:
#! python2
# coding: utf-8

有了这些技巧,Python2和Python3就可以愉快地在一起玩耍了~

阅读全文

与pythoncmd导入模块相关的资料

热点内容
程序员试用期汇报问题协助怎么写 浏览:127
抖音算法到底是什么 浏览:126
哪个vlan技术对报文加密 浏览:570
单片机定时电路 浏览:672
山西平台服务器云主机 浏览:700
按摩肚脐解压视频 浏览:989
php55安装教程 浏览:137
云服务器怎么查找本机域名 浏览:22
qd123y压缩机参数 浏览:385
程序员妈妈怀孕 浏览:490
金普国际编程 浏览:537
java什么是引用类型 浏览:944
这是命令吗txt 浏览:314
支付宝android包名 浏览:154
eclipsemaven命令 浏览:68
24路服务器配什么cpu 浏览:466
压缩文件和解压文件哪个快 浏览:675
亚马逊云服务器视频通话 浏览:912
金融知识app哪个好 浏览:978
农行理财app收益在哪里 浏览:969