python添加模块

1.如何在python中添加自定义模块

一般来说,我们会将自己写的python模块与python自带的模块分开存放以达到便于维护的目的。

Python 运行环境在查找库文件时是对 sys.path 列表进行遍历,如果我们想在运行环境中注册新的类库,主要有以下三种方法:

在sys.path列表中添加新的路径。

设置PYTHONPATH环境变量。

将库文件复制到sys.path列表中的目录里(如site-packages目录)。

其实,最简单的办法是用 .pth 文件来实现。Python 在遍历已知的库文件目录过程中,如果见到一个 .pth 文件,就会将文件中所记录的路径加入到 sys.path 设置中,这样 .pth 文件说指明的库也就可以被 Python 运行环境找到。

操作:

在Python/Lib/site-package目录下创建一个MyModule.pth文件,其中内容为自定义的模块所在的路径。

Config代码

C:\Project

C:\Project 这样Project目录下的python文件就可以被找到了。

谢谢采纳

2.Python安装模块的几种方法

首先确定已经在你的电脑上安装了python,然后配置了python的环境变量.例如:我要安装的模块是xlrd

1.把要安装的包copy到python的安装目录,例如我的C:\Python27,或者在安装目录下新建一个文件夹(packages),方便存放导入的模块。注:我的copy到C:\Python27\packages

2.运行cmd,cd 到你的安装目录,我的C:\Python27\packages\xlrd-0.9.3,输入python setup.py install,完成

3.打开python中IDLE(Python GUI),输入import xlrd,无提示表示,安装成功。

3.python 怎样添加模块加载路径

这里主要介绍第二种方法:通过.ph文件进行设置,好处是可以将路径设为永久路径

在Python的安装目录下,找到 \Lib\site-packages 文件夹,在该文件夹下新建一个以.pth为后缀名的文件,编辑文件,内容为要添加的库路径。(我的文件名命名为setpath.pth)。添加路径示例:文件内容写入要引用的库路径

步骤1:建立文件,可以首先建立一个文本文档,写下路径如D:\\Python\\mulib。我这里新建的文件路径的文件夹命名为“mulib”

步骤2:保存文档时,将文件类型选为所有,文件名为 setpath.pth。文件名是什么无所谓,主要是只有当文档类型选为“所有文件”,才可以定义文件类型为.pth

步骤3:将保存好的文件放在Python的site-packages文件夹中就完成了。

4.如何导入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 "", line 1, in a.dataAttributeError: 'module' object has no attribute 'data'>>> reload(a)>>> a.data Traceback (most recent call last): File "", line 1, in a.dataAttributeError: 'module' object has no attribute 'data'>>>从上述提示可以看出data属性未定义,此时再在a.py文件中定义data=[1,2,3],重新加载a模块,并输出data属性:>>> reload(a)>>> 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了。

5.python怎么安装模块

1.

直接copy

下载的模块文件中已经有了模块的文件,有些模块只有一个文件,比如较早版本的BeautifulSoup,有些是一个文件夹,比如新版本BeautifulSoup就是一个叫做bs4的文件夹。

把这些文件直接copy到你的python路径下的/Lib/site-packages文件夹中,比如C:/Python27/Lib/site-packages。之后就可以在程序里直接引用了:

import BeautifulSoup

或者

from bs4 import BeautifulSoup

这是根据你放置的文件位置不同而决定的。

网上有人说直接放在Lib文件夹中就可以了。的确这样也行,但Lib文件夹中都是自带的模块,看一下就会发现我们用过的random、re等模块的代码文件。而外部模块一般放在site-packages文件夹中。

2.

setup.py

很多模块里都附带了setup.py文件,有同学直接双击了,然后发现没有用。

它的使用方法是从命令行去到setup.py所在的路径下,运行

python setup.py install

仔细看一下安装时输出的信息可以发现,在线学习这个命令做的事情其实也就是帮你把模块的代码copy到site-packages文件夹。

3.

setuptools

使用setuptools可以直接根据模块名称来自动下载安装,不需要自己再去寻找模块的安装文件。不过在使用之前,你得先安装setuptools自身。

windows平台的32位python,可以直接下载setuptools的exe文件安装。(去搜索setuptools windows可以找到,我也上传了一份在论坛本帖后面)

Linux用户可以从包管理器中安装,比如ubuntu:

apt-get install python-setuptools

windows平台64位python得用ez_setup.py进行安装(文件我也上传了)。这种方式也适用于所有平台。

在ez_setup.py所在文件夹下运行:

python ez_setup.py

setuptools会被安装在python路径\Scripts下。之后,你可以把这个路径添加到环境变量path中,也可以直接从命令行进入到Scripts文件夹下,执行easy_install,看看是否安装成功了。

6.怎么从python引入自己的模块

1.如果导入的模块和主程序在同个目录下,直接import就行了

2.如果导入的模块是在主程序所在目录的子目录下,可以在子目录中增加一个空白的__init__.py文件,该文件使得python解释器将子目录整个也当成一个模块,然后直接通过“import 子目录.模块”导入即可。

3.如果导入的模块是在主程序所在目录的父目录下,则要通过修改path来解决,有两种方法:

(1)通过”import sys,sys.path.append('父目录的路径')“来改变,这种方法属于一次性的,只对当前的python解释器进程有效,关掉python重启后就失效了。

(2)直接修改环境变量:在windows中是 “ set 变量=‘路径’ ” 例如:set PYTHONPATH='C:\test\。' 查看是否设置成功用echo %PYTHONPATH%,而且进到python解释器中查看sys.path,会发现已经有了新增加的路径了。这 种方式是永久的,一次设置以后一直都有效。在linux中是 "export 变量=‘路径’ “,查看是" echo $变量 "

通过修改path是通用的方法,因为python解释器就是通过sys.path去一个地方一个地方的寻找模块的。

7.python导入模块的方法有哪些

方法一

import modname

模块是指一个可以交互使用,或者从另一Python 程序访问的代码段。只要导入了一个模块,就可以引用它的任何公共的函数、类或属性。模块可以通过这种方法来使用其它模块的功能。

用import语句导入模块,就在当前的名称空间(namespace)建立了一个到该模块的引用.这种引用必须使用全称,也就是说,当使用在被导入模块中定义的函数时,必须包含模块的名字。所以不能只使用 funcname,而应该使用 modname.funcname

方法二

from modname import funcname

from modname import fa, fb, fc

或者

from modname import *

与第1种方法的区别:funcname 被直接导入到本地名字空间去了,所以它可以直接使用,而不需要加上模块名的限定* 表示,该模块的所有公共对象(public objects)都被导入到 当前的名称空间,也就是任何只要不是以”_”开始的东西都会被导入。

modname没有被定义,所以modname.funcname这种方式不起作用。并且,如果funcname如果已经被定义,它会被新版本(该导入模块中的版本)所替代。如果funcname被改成指向其他对象,modname不能不会觉察到。

建议:

1)如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import

2)如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module import

3)如果模块包含的属性和方法与你的某个模块同名,你必须使用import module来避免名字冲突

4)尽量少用 from module import * ,因为判定一个特殊的函数或属性是从哪来的有些困难,并且会造成调试和重构都更困难。

方法三

内建函数__import__()

除了前面两种使用import关键字的方法以外,我们还可以使用内建函数 __import__() 来导入 module。两者的区别是,import 后面跟的必须是一个类型(type),而__import__() 的参数是一个字符串,这个字符串可能来自配置文件,也可能是某个表达式计算结果。例如:

mymodule = __import__ ('module_name')

附注:

1)模块的内容都放在一个模块文件中,如 mymodule 的内容应该放在PYTHONPATH 目录下的一个mymodule.py中,C实现的除外

2)包可以将几个模块名称空间组织起来, 如A.b 就表示在包A中的一个子模块b

可以单独导入某一个子模块,如Python文档中给出的例子

import sound.effects.echo

这样必须使用全称对里面的对象进行引用,如

sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)

还可以使用下面的语句来加载echo子模块

from Sound.Effects import echo

它在没有包前缀的情况下也可以使用, 所以它可以如下方式调用:

echo.echofilter(input, output, delay=0.7, atten=4)

不主张从一个包或模块中用import * 导入所有模块,因为这样的通常会导致可读性很差。

from Package import specific_submodule的用法并没有错,实际上这还是推荐的用法,除非导入的模块需要使用其它包中的同名子模块(the importing module needs to use submodules with the same name from different packages).

综上所述,一般情况应该使用import , 但有几个例外

1)module文档告诉你要用from-import的

2)导入一个包组件。需要一个包里面的某个子模块,一般用from A.b import c比import A.b.c 更方便 且不会冒混淆的危险.

8.Python如何安装模块

一、方法1: 单文件模块

直接把文件拷贝到 $python_dir/Lib

二、方法2: 多文件模块,带setup.py

下载模块包,进行解压,进入模块文件夹,执行:

python setup.py install

三、方法3:easy_install 方式

先下载ez_setup.py,运行python ez_setup 进行easy_install工具的安装,之后就可以使用easy_install进行安装package了。

easy_install packageName

easy_install package.egg

四、方法4:pip 方式

先进行pip工具的安装:easy_install pip(pip 可以通过easy_install 安装,而且也会装到 Scripts 文件夹下。)

安装:pip install PackageName

更新:pip install -U PackageName

移除:pip uninstall PackageName

搜索:pip search PackageName

python添加模块

转载请注明出处编程代码网 » python添加模块

资讯

python设置时间

阅读(10)

本文主要为您介绍python设置时间,内容包括python中datetime怎么设置时区,python中datetime怎么设置时区,python怎么输入日期。默认情况下,pandas中的时间序列是单纯(naive)的时区,其索引的tz字段为None。

资讯

pythonfindinlist

阅读(9)

本文主要为您介绍pythonfindinlist,内容包括python中str.find和inlist的区别使用,Python里面list用find查找某一关键字,如果返回是1,该如何处理,python中inlist的语法有什么问题。在一个str中查找特定的字符串,使用string1.find(substring)

资讯

pythondjango

阅读(7)

本文主要为您介绍pythondjango,内容包括如何快速安装Django,django实现文件下载,windows下怎么安装django。文件下载网上很多例子的,原理就是那样的def bigFileView(request):# do somethingdef readFi

资讯

python字典的添加元素

阅读(10)

本文主要为您介绍python字典的添加元素,内容包括python如何对字典的值添加元素,python字典怎么增加元素,在python中怎么把列表中的元素添加到字典中。字典是一种hash表,即有key,和key键对应下的value比如说我要初始化一个字典phonebook={Alic

资讯

python经验

阅读(8)

本文主要为您介绍python经验,内容包括Python难不难学,python项目经验怎么写,怎样自学Python最有效最扎实最快。python这个看有没有基础,当下随着AI和大数据的兴起,Python变得越来越强了,它语言简洁、开发效率高、可移植性强,并且可以和其他

资讯

pythonhtml邮件

阅读(9)

本文主要为您介绍pythonhtml邮件,内容包括在python中怎么生成html格式的邮件并发送,在python中怎么生成html格式的邮件并发送,python发html邮件的时候如何在body中引用变量。请将代码中的email和密码替换成您的email和密码。# -*- coding:

资讯

python在线运行

阅读(7)

本文主要为您介绍python在线运行,内容包括有没有在线运行python程序的网站,如何搭建python在线运行环境,Python可运行在哪些平台。Python是世界排名第三的编程语言,使用人数超过千万,30%IT新人入门都学Python。它作为一门编程语言,其魅力远超C

资讯

python播放

阅读(9)

本文主要为您介绍python播放,内容包括python如何播放mp3,python如何播放mp3,求python播放mp3的代码,不用pyglet,不用winsound。使用以下代码即可播放。01 import mp3play 02 03 filename = rC:\Documents and Sett

资讯

pythonstring转list

阅读(9)

本文主要为您介绍pythonstring转list,内容包括(python)如何将字符串转换成list,怎么用python语言将字符串转换成list,python如何把string变成list最好用split()。>> str=2257,4018,1096>>> target_list = [int(x) for x in str.split(,)

资讯

如何关闭python

阅读(7)

本文主要为您介绍如何关闭python,内容包括如何关闭Python程序,如何关闭Python程序,python运行的程序怎么停止。解决办法有两种:代码要对齐,一般Py脚本里面加 input函数是不会自动退出的,正确如下:2、这种方法是用Input作为控制的,没有加控

资讯

python邮件模块

阅读(7)

本文主要为您介绍python邮件模块,内容包括python怎么添加email模块,python里的邮件模块在win7和win10下有区别吗,python里的邮件模块在win7和win10下有区别吗。python 怎么添加pygal模块R的主要优势是它有一个庞大的社区,通过邮件列表,用户贡

资讯

python数据库封装

阅读(7)

本文主要为您介绍python数据库封装,内容包括python如何封装TIDB数据库,python如何封装数据,python怎么封装mysql。import structcalcsize() calcsize(fmt) -> int Return size of C struct

资讯

pythonUI界面

阅读(6)

本文主要为您介绍pythonUI界面,内容包括如何用python做ui界面tkinter,python图形化界面设计tkinter,python图形化界面。import timeimport tkinter as tkclass Window:def __init__(self, title

资讯

python矩阵旋转

阅读(7)

本文主要为您介绍python矩阵旋转,内容包括在python中怎么使用旋转矩阵实现矩阵的相乘,怎么表达出旋转矩阵,python怎么实现矩阵的转置,python字符串如何变成矩阵进行矩阵转置。需求:你需要转置一个二维数组,将行列互换.讨论:你需要确保该数组的

资讯

python设置时间

阅读(10)

本文主要为您介绍python设置时间,内容包括python中datetime怎么设置时区,python中datetime怎么设置时区,python怎么输入日期。默认情况下,pandas中的时间序列是单纯(naive)的时区,其索引的tz字段为None。

资讯

pythonfindinlist

阅读(9)

本文主要为您介绍pythonfindinlist,内容包括python中str.find和inlist的区别使用,Python里面list用find查找某一关键字,如果返回是1,该如何处理,python中inlist的语法有什么问题。在一个str中查找特定的字符串,使用string1.find(substring)

资讯

pythondjango

阅读(7)

本文主要为您介绍pythondjango,内容包括如何快速安装Django,django实现文件下载,windows下怎么安装django。文件下载网上很多例子的,原理就是那样的def bigFileView(request):# do somethingdef readFi

资讯

python字典的添加元素

阅读(10)

本文主要为您介绍python字典的添加元素,内容包括python如何对字典的值添加元素,python字典怎么增加元素,在python中怎么把列表中的元素添加到字典中。字典是一种hash表,即有key,和key键对应下的value比如说我要初始化一个字典phonebook={Alic

资讯

python经验

阅读(8)

本文主要为您介绍python经验,内容包括Python难不难学,python项目经验怎么写,怎样自学Python最有效最扎实最快。python这个看有没有基础,当下随着AI和大数据的兴起,Python变得越来越强了,它语言简洁、开发效率高、可移植性强,并且可以和其他

资讯

pythonhtml邮件

阅读(9)

本文主要为您介绍pythonhtml邮件,内容包括在python中怎么生成html格式的邮件并发送,在python中怎么生成html格式的邮件并发送,python发html邮件的时候如何在body中引用变量。请将代码中的email和密码替换成您的email和密码。# -*- coding:

资讯

python在线运行

阅读(7)

本文主要为您介绍python在线运行,内容包括有没有在线运行python程序的网站,如何搭建python在线运行环境,Python可运行在哪些平台。Python是世界排名第三的编程语言,使用人数超过千万,30%IT新人入门都学Python。它作为一门编程语言,其魅力远超C

资讯

python调用其他文件的函数调用

阅读(7)

本文主要为您介绍python调用其他文件的函数调用,内容包括python一个文件调用另一个文件中函数的变量,python如何调用另一个py文件的所有函数,python如何调用另一个文件夹里的函数。在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entr

资讯

python调用c接口

阅读(2)

本文主要为您介绍python调用c接口,内容包括python怎么调用c语言接口,如何让python调用C和C++代码,如何让python调用C和C++代码。ctypes: 可直接调用c语言动态链接库。使用步骤:1> 编译好自己的动态连接库2> 利用ctypes载入动态连接库3&g

资讯

pythonanzhuang

阅读(1)

本文主要为您介绍pythonanzhuang,内容包括python安装后怎么打开,如何安装python,怎么安装python模块,如何安装python模块,常用安装方式。首先打开安装程序压缩包,进行解压缩,解压到设置的位置,耐心等待解压完成

资讯

python安装路径查看

阅读(2)

本文主要为您介绍python安装路径查看,内容包括怎么查看python的安装路径,怎样查看python安装路径,怎么查看python的安装路径。方法如下:linux查看python安装位置。有时我们需要查看python的安装位置,好安装第三方库,linux可以先python进入p

资讯

python空格分割

阅读(2)

本文主要为您介绍python空格分割,内容包括pythonsplit()默认以空格分割,现在字符串里有#和空格,怎样是split,python怎么用空格分隔两个整数,python如何实现字符串按空格分割,并逐行输出。借助于lstrip()提取左边空格>>>s = A B C >>>s.lstri

资讯

python目录复制

阅读(2)

本文主要为您介绍python目录复制,内容包括python如何复制整个文件夹到另一个目录下连文件夹也要复制过去,python列表怎么复制,pythonwindows下如何复制整个文件夹到另一个目录下连文件夹也要。假设现有列表为a, 复制一个新用 b=a 这个语句,并

资讯

python所有模块

阅读(2)

本文主要为您介绍python所有模块,内容包括python十大必学模块是什么,Python开发中常用的模块,python模块。这个不能一概而论的,据说python目前高达27万+个库,看你学习的方向必学模块也有不同,简单列举: 网络通用方面:urllib -网

资讯

python任务调度

阅读(2)

本文主要为您介绍python任务调度,内容包括python是否有任务调度的类,python是否有任务调度的类,如何用python简单的设计开发异步任务调度队列。首先,客户端可以直接扔任务到一个web services的接口上 –》 web api接收到任务后,会根据客户端

资讯

python判断字符串是否数字

阅读(2)

本文主要为您介绍python判断字符串是否数字,内容包括Python中判断字符串是否是数的方法,python判断字符串是否为数字,python判断字符串是否为数字。正则匹配法比较严谨一些,你说的数字有没有条件限制?下面是一些常用的判断各种数字的正则表达

资讯

python标准库chm

阅读(2)

本文主要为您介绍python标准库chm,内容包括怎么查看Pythonapi文档,Python常用的标准库以及第三方库,Python常用的标准库以及第三方库。Python常用的标准库有http库。第三方库有scrapy,pillow和wxPython.以下有介绍:1. Requests.Ken

资讯

python字符串最后一位

阅读(2)

本文主要为您介绍python字符串最后一位,内容包括python取字符串中最后的一个特定字符之后的字符串,python中如何取出字符串中最后一个特定字符后的字符串,python怎么把字符串最后一个字符去掉。先将字符串转换成列表,之后再修改列表中的元素