python自定義模組

2021-08-10 19:26:40 字數 3254 閱讀 2240

1、匯入自定義模組

1.1、匯入檔案與當前檔案在同一目錄

1.2、匯入檔案在同級目錄下某資料夾folder下

1.3、相對路徑匯入

2、詳解python中的from..import絕對匯入語句

3、作為指令碼來執行程式

4、github上模組位址

5、查詢python安裝路徑

1、匯入自定義模組

1.1、匯入檔案與當前檔案在同一目錄

直接引入,import m_path 或 from m_path import *

m_path.py:

def getfile():

print('get file:\n')

test.py:

import

m_path

m_path.getfile()

1.2、匯入檔案在同級目錄下某資料夾folder下

在folder下,建立空__init__.py的檔案,將資料夾轉為包。然後引用:

from m_os import m_path 或 from m_os.m_path import *

1.3、相對路徑匯入

將自定義的包放在搜尋目錄可見的範圍內。

python會在以下路徑中搜尋它想要尋找的模組:

1. 程式所在的資料夾

2. 標準庫的安裝路徑

標準庫安裝路徑為

$pythonhome$\lib\site-packages

。可將包直接放到此目錄下,也可在此目錄下新建乙個.pth檔案,比如說是mypackage.pth,裡面的內容是你的包的絕對路徑比如:e:/pythonprj。(推薦做法)

3. 作業系統環境變數pythonpath所包含的路徑

將自定義庫的路徑新增到python的庫路徑中去,動態的新增庫路徑。在程式執行過程中修改sys.path的值,新增自己的庫路徑。

import sys

2、詳

解python中的from..import絕對匯入語句

python2.5以來實現:匯入乙個模組可以指定使用絕對或者包相對的匯入。絕對匯入使用乙個 from __future__ import absolute_import,可以使import string 將總是尋找基本庫,而不是使用者定義,以避免混淆。

示例1:

例如:在模組a.b.c中的**:

from . import d # 匯入a.b.dfrom .. import e # 匯入a.efrom ..f import g # 匯入a.f.g,.. 和 f是連著的,中間沒有空格

.代表當前目錄,..代表上一層目錄,...代表上上層目錄。

示例2:

目錄結構:

package/

__init__.py

subpackage1/

__init__.py

modulex.py

moduley.py

subpackage2/

__init__.py

modulez.py

modulea.py

在subpackage1/modulex.py 或者 subpackage1/__init__.py中可以這樣匯入module:

from .moduley import spamfrom .moduley import spam as hamfrom . import moduleyfrom ..subpackage1 import moduleyfrom ..subpackage2.modulez import eggsfrom ..modulea import foofrom ...package import barfrom ...sys import path

注意,from ...sys import path是合法的,但是不建議。直接from sys import path就行了。

參考:3、作為指令碼來執行程式

所有的模組都有乙個內建屬性__name__,如果import乙個模組,那麼模組的__name__屬性返回值一般是檔名。如果直接執行python程式,__name__的值將是乙個"__mian__"。

根據上面程式做乙個測試:

def func(a, b):

return a * b

class myclass:

def __init__(self, a, b):

self.a = a

self.b = b

def method(self):

return self.a * self.b

print __name__

# python test.py

__main__

建立乙個test2.py,匯入這個模組:

import test

# python test2.py

test

test就是這個模組名。根據這個特性可以判斷是手動執行這個程式還是匯入包。

if __name__ == "__main__":

print "我在手動執行這個程式..."

4、github上模組位址

5、查詢python安裝路徑

特別是linux系統,裝了多個python,有時候找不到python的絕對路徑,有時候裝了個django,又找不到django安裝到**了。。當然檢視的方法有很多種,這裡列出幾種,供沒有經驗的人參考下。

g:\code\moniter>python -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())"

c:\python27\lib\site-packages

g:\code\moniter>python -c "import os; print os.__file__"

c:\python27\lib\os.pyc

g:\code\moniter>python -c "import sys; print sys.executable"

c:\python27\python.exe

python模組 python自定義模組

1.import 模組名 匯入模組中的所有內容 引入多個用逗號分隔 import random,time 2.from 模組名 import 函式名1,函式名2.匯入部分模組 匯入部分的話直接使用 3.from 模組名 import 匯入所有,有約束 需要在 init py檔案中新增屬性 all 函...

python 自定義模組

python 的標準安裝包括了一組模組,稱之為標準庫 standard library 在專案開發,程式設計師會考慮 的可擴充套件性和 的可重用性,使用模組的好處,就是考慮使用了 的可重用性。模組 任何python程式都可以作為模組匯入,例如 編寫乙個hello.py檔案,包名 com.easymo...

python 自定義模組

1.自定義乙個模組 import 匯入 2.模組分類 3.模組 模組的好處 1.避免寫重複 2.可以多次利用 3.拿來主義 import test print test.name test.foo test.func import 就是用來匯入test模組的方法,test 是自己寫的乙個模組,用來做...