圖文詳解Python中模塊或py文件導入(超詳細!)
一、前言
聽說python很流行,因為有很多模塊資源,而且導入模塊,操作和理解起來很簡單。所以在這里記錄一下學習python的過程,我相信最重要的環(huán)節(jié)就是導入第三方模塊了
二、python項目中導入模塊(py文件)的幾種方式
1、直接將py文件放到默認的庫位置(特點:高效)
在本地路徑:d:\\Z_D\\PD_P\\Python\\項目1目錄下運行 test.py 文件代碼如下:
import sys print(sys.path)
運行結果就是打印出所有默認的庫文件存放路徑:
['d:\\Z_D\\PD_P\\Python\\項目1', 'D:\\Z_D\\PD\\python\\Python310\\python310.zip', 'D:\\Z_D\\PD\\python\\Python310\\DLLs', 'D:\\Z_D\\PD\\python\\Python310\\lib', 'D:\\Z_D\\PD\\python\\Python310', 'D:\\Z_D\\PD\\python\\Python310\\lib\\site-packages']
整理一下就是
d:\\Z_D\\PD_P\\Python\\項目1
D:\\Z_D\\PD\\python\\Python310\\python310.zip
D:\\Z_D\\PD\\python\\Python310\\DLLs
D:\\Z_D\\PD\\python\\Python310\\lib
D:\\Z_D\\PD\\python\\Python310
D:\\Z_D\\PD\\python\\Python310\\lib\\site-packages
把創(chuàng)建的 my1.py 文件放在 D:\\Z_D\\PD\\python\\Python310\\lib\\site-packages 中:這里 my1.py 文件演示的代碼如下:
def testfunction():
print("我是 D:\Z_D\PD\python\Python310\Lib\\\
site-packages 的 my1.py \
中的 testfunction 函數(shù)")然后執(zhí)行 test.py 文件的測試代碼。嘗試導入 my1.py 文件:
import my1 my1.testfunction()
可以看到執(zhí)行結果(圖片):

導入成功!
2、將文件放到創(chuàng)建的庫位置(特點:方便管理)
上面講到我們可以直接把py文件放置到D:\\Z_D\\PD\\python\\Python310\\lib\\site-packages 路徑下,但是這么做,顯得很亂,也不便于我們管理,所以我們創(chuàng)建一個文件夾,用于放置自己的創(chuàng)建的py文件模塊:
把創(chuàng)建的 my2.py 文件放在D:\桌面\自己創(chuàng)建的庫文件夾 中:這里 my2.py 文件演示的代碼如下:
def testfunction():
print("D:\桌面\自己創(chuàng)建的庫文件夾\my2.py中的 testfunction 函數(shù)")然后執(zhí)行 test.py 文件的測試代碼。嘗試導入 my2.py 文件:
import sys
sys.path.append('D:\桌面\自己創(chuàng)建的庫文件夾')
import my2
my2.testfunction()可以看到執(zhí)行結果(圖片):

導入成功!
3、將模塊(模塊包含很多py文件)使用pip安裝到python庫中(特點:安裝麻煩,使用時方便)
創(chuàng)建一個工作區(qū),工作區(qū)下新建一個 ShareClass 文件夾 ,文件夾中新建 helloworld.py 文件 和一個空白 __init__.py 文件
編寫自己的模塊代碼,這里 helloworld.py 文件演示代碼如下:
def testfunction():
print("helloworld.py的 testfunction 函數(shù)")效果是這樣:

在工作區(qū)下新建一個setup.py文件,注意該文件是和ShareClass文件夾 同級目錄
這里的 setup.py文件代碼如下:
import setuptools
setuptools.setup(
name="ShareClass",
version="1.0",
author="Beall",
author_email="beallhuang@163.com",
description="",
long_description="ShareClass",
long_description_content_type="ShareClass",
packages=setuptools.find_packages(),
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
)這里用到了 setuptools 模塊,如果沒有,要進行安裝,安裝方法自行百度。
效果是這樣:

接下來,我們進行pip安裝流程:
在工作區(qū)使用終端執(zhí)行命令,使用setup.py腳本生成壓縮包
python .\setup.py sdist
執(zhí)行的結果就是生成了兩個文件夾:

然后執(zhí)行命令,使用pip安裝到本地庫中:
pip install .\dist\ShareClass-1.0.tar.gz
執(zhí)行結果就是安裝成功:

然后執(zhí)行文件 test.py 的測試代碼。嘗試導入模塊ShareClass中的helloworld.py:
from ShareClass import helloworld helloworld.testfunction()
可以看到執(zhí)行結果(圖片):

創(chuàng)建模塊,安裝,并在項目中導入成功!
4、使用系統(tǒng)變量永久生成指定python庫位置(特點:沒有缺點,哈哈,推薦這個)
上面第一種方式,放在系統(tǒng)目錄不方便管理,文件類型多,目錄深,所以找起來很不方便
第二種方式,放在指定位置,確實簡單,但是使用時,要額外加入下面的代碼
import sys
sys.path.append('D:\桌面\自己創(chuàng)建的庫文件夾')對于有代碼潔癖的人來,十分別扭。
第三種方式,將模塊打包安裝,雖然使用起來和第二種相同,也沒有別扭的感覺,但是每次都要安裝,這樣模塊多了就很麻煩,也很不好管理
所以推薦方式4,相當于在方式二的基礎上升級了一下。廢話不多說了,直接操作:
如下圖,我的電腦,右鍵屬性=》高級系統(tǒng)設置=》環(huán)境變量=>新建,填的內容如下,變量名一定要填寫正確,建議復制!
PYTHONPATH
D:\桌面\永久的py庫文件夾

然后檢查是否添加成功,效果如下圖

運行一下,測試代碼如下:
import my4 my4.myfunction()
如果是在VScode中。運行后結果如下:

遇到這個問題,是VScode問題,這個不重要,要解決很簡單:重啟
不過這里就不要是重啟了。在項目目錄打開CMD運行指令:python test.py
運行結果如下:

導入成功!
三、項目中的python文件導入
1、同級文件導入

同級目錄創(chuàng)建my.py 文件:這里 my.py 文件演示的代碼如下:
def myfunction():
print("helloworld.py的 myfunction 函數(shù)")然后執(zhí)行 test.py 文件的測試代碼。嘗試導入 my2.py 文件:
import my my.myfunction()
可以看到執(zhí)行結果(圖片):

導入成功!
2、導入文件夾中py文件

同級目錄創(chuàng)建my.py 文件:這里 my.py 文件演示的代碼如下:
def myfunction():
print("my.py的 myfunction 函數(shù)")=========================================================================
然后執(zhí)行 test.py 文件的測試代碼。嘗試導入 my2.py 文件:
#導入my文件 import 文件夾.my as my my.myfunction()
或者:
#導入my文件 from 文件夾 import my my.myfunction()
或者
#導入my文件中所有的函數(shù) from 文件夾.my import * myfunction()
或者
#僅僅導入my文件中的myfunction函數(shù) from 文件夾.my import myfunction myfunction()
=========================================================================
可以看到執(zhí)行結果(圖片):

導入成功!
總結
到此這篇關于Python中模塊或py文件導入的文章就介紹到這了,更多相關Python模塊或py文件導入內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
淺談pandas中DataFrame關于顯示值省略的解決方法
下面小編就為大家分享一篇淺談pandas中DataFrame關于顯示值省略的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python編程快速上手——瘋狂填詞程序實現(xiàn)方法分析
這篇文章主要介紹了Python瘋狂填詞程序實現(xiàn)方法,結合具體案例形式分析了Python填詞算法相關的文件讀寫、正則匹配、數(shù)據(jù)遍歷等操作技巧,需要的朋友可以參考下2020-02-02
Python輸入圓半徑,計算圓周長和面積的實現(xiàn)方式
這篇文章主要介紹了Python輸入圓半徑,計算圓周長和面積的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
Python的Flask框架中@app.route的用法教程
這篇文章主要介紹了Python的Flask框架中@app.route的用法教程,包括相關的正則表達式講解,是Flask學習過程當中的基礎知識,需要的朋友可以參考下2015-03-03

