日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python模塊導(dǎo)入總結(jié)

系統(tǒng) 1911 0

python模塊導(dǎo)入總結(jié)

?

模塊導(dǎo)入方式

定義test.py模塊

            
              def
            
            
               print_func():
    
            
            
              print
            
            (
            
              "
            
            
              hello
            
            
              "
            
            )
          

import 語(yǔ)句

導(dǎo)入模塊語(yǔ)法

            import module1[, module2[,... moduleN]]
          

引用print_func()函數(shù)

            模塊名.函數(shù)名
          
            
              #
            
            
              !/usr/bin/python
            
            
              
#
            
            
               -*- coding: UTF-8 -*-
            
            
              #
            
            
               導(dǎo)入模塊
            
            
              import
            
            
               test
 

            
            
              #
            
            
               現(xiàn)在可以調(diào)用模塊里包含的函數(shù)了
            
            
test.print_func()
          

?

from…import 語(yǔ)句

Python 的 from 語(yǔ)句讓你從模塊中導(dǎo)入一個(gè)指定的部分到當(dāng)前命名空間中。語(yǔ)法如下:

            
              from
            
             modname 
            
              import
            
             name1[, name2[, ... nameN]]
          

例如,要導(dǎo)入模塊 fib 的 fibonacci 函數(shù),使用如下語(yǔ)句:

            
              from
            
             fib 
            
              import
            
             fibonacci
          

這個(gè)聲明不會(huì)把整個(gè) fib 模塊導(dǎo)入到當(dāng)前的命名空間中,它只會(huì)將 fib 里的 fibonacci 單個(gè)引入到執(zhí)行這個(gè)聲明的模塊的全局符號(hào)表。

?

from…import* 語(yǔ)句

把一個(gè)模塊的所有內(nèi)容全都導(dǎo)入到當(dāng)前的命名空間也是可行的,只需使用如下聲明:

            
              from
            
             modname 
            
              import
            
             *
          

這提供了一個(gè)簡(jiǎn)單的方法來(lái)導(dǎo)入一個(gè)模塊中的所有項(xiàng)目。然而這種聲明不該被過(guò)多地使用。

例如我們想一次性引入 math 模塊中所有的東西,語(yǔ)句如下:

            
              from
            
             math 
            
              import
            
             *
          

?

?

python絕對(duì)路徑和相對(duì)路徑

轉(zhuǎn)自https://blog.csdn.net/databatman/article/details/49453953

            
              下面的路徑介紹針對(duì)windows,其他平臺(tái)的暫時(shí)不是很了解。

在編寫(xiě)的py文件中打開(kāi)文件的時(shí)候經(jīng)常見(jiàn)到下面其中路徑的表達(dá)方式:

open(
            
            
              '
            
            
              aaa.txt
            
            
              '
            
            
              )  
open(
            
            
              '
            
            
              /data/bbb.txt
            
            
              '
            
            
              )  
open(
            
            
              '
            
            
              D:\\user\\ccc.txt
            
            
              '
            
            
              )  
這三種表達(dá)式里面,前兩個(gè)都是相對(duì)路徑,第三個(gè)則是絕對(duì)路徑。絕對(duì)路徑比較好理解,就是最完整的路徑,相對(duì)路徑的相對(duì)則是不完整路徑,這個(gè)相對(duì)指的就是相對(duì)于當(dāng)前文件夾路徑,其實(shí)就是你編寫(xiě)的這個(gè)py文件所放的文件夾路徑!也就是說(shuō)你寫(xiě)的相對(duì)路徑必須是當(dāng)前文件夾A里的文件a或者A里的文件夾B里的文件才可以open。

假設(shè)當(dāng)前的py文件夾所處的位置是:D:\user\public

那么三行代碼打開(kāi)的文件所屬的路徑分別是:

D:\user\public\aaa.txt

D:\user\public\data\bbb.txt

D:\user\private\ccc.txt

很好理解就是當(dāng)要打開(kāi)py文件所處的文件時(shí)只要使用相對(duì)路徑就行了,而要使用其他文件夾的則需使用絕對(duì)路徑。

注:我們常用’
            
            /‘來(lái)表示相對(duì)路徑,’\‘來(lái)表示絕對(duì)路徑,上面的路徑里\\是轉(zhuǎn)義的意思。此外,網(wǎng)頁(yè)網(wǎng)址和linux、unix系統(tǒng)下一般都用’/
            
              ‘。

當(dāng)然我們也可以獲得當(dāng)前文件夾的絕對(duì)路徑,如下:


            
            
              import
            
            
               os  
path1
            
            =os.path.abspath(
            
              '
            
            
              .
            
            
              '
            
            )   
            
              #
            
            
              表示當(dāng)前所處的文件夾的絕對(duì)路徑  
            
            
path2=os.path.abspath(
            
              '
            
            
              ..
            
            
              '
            
            )  
            
              #
            
            
              表示當(dāng)前所處的文件夾上一級(jí)文件夾的絕對(duì)路徑  
            
            
所以我們常設(shè)置一個(gè)path1的全局變量來(lái)表示當(dāng)前的絕對(duì)路徑,再加上相對(duì)路徑來(lái)打開(kāi)需要打開(kāi)的文件,這么做是為了在不同的平臺(tái)上不沖突,因?yàn)椴煌脚_(tái)在相對(duì)路徑上的表示上存在區(qū)別。
          

?

PYTHONPATH 變量

作為環(huán)境變量,PYTHONPATH 由裝在一個(gè)列表里的許多目錄組成。PYTHONPATH 的語(yǔ)法和 shell 變量 PATH 的一樣。

在 Windows 系統(tǒng),典型的 PYTHONPATH 如下:

          set PYTHONPATH=c:\python27\lib;

        

在 UNIX 系統(tǒng),典型的 PYTHONPATH 如下:

          set PYTHONPATH=/usr/local/lib/python
        

?

搜索路徑

當(dāng)你導(dǎo)入一個(gè)模塊,Python 解析器對(duì)模塊位置的搜索順序是:

  • 1、當(dāng)前目錄
  • 2、如果不在當(dāng)前目錄,Python 則搜索在 shell 變量 PYTHONPATH 下的每個(gè)目錄。
  • 3、如果都找不到,Python會(huì)察看默認(rèn)路徑。UNIX下,默認(rèn)路徑一般為/usr/local/lib/python/。

模塊搜索路徑存儲(chǔ)在 system 模塊的 sys.path 變量中。變量里包含當(dāng)前目錄,PYTHONPATH和由安裝過(guò)程決定的默認(rèn)目錄。

?

python中設(shè)置PYTHONPATH 變量

PYTHONPATH是Python中一個(gè)重要的環(huán)境變量,用于在導(dǎo)入模塊的時(shí)候搜索路徑.可以通過(guò)如下方式訪問(wèn):

            
              import
            
            
               sys


            
            
              print
            
            (sys.path)
          
            [
            
              '
            
            
              C:\\Pycham
            
            
              '
            
            , 
            
              '
            
            
              C:\\Pycham
            
            
              '
            
            , 
            
              '
            
            
              C:\\Users\\Administrator\\my_site
            
            
              '
            
            , 
            
              '
            
            
              C:\\Users\\Administrator\\mysite
            
            
              '
            
            , 
            
              '
            
            
              C:\\Users\\Administrator\\test_login
            
            
              '
            
            , 
            
              '
            
            
              C:\\Pycham\\anaconda\\Scripts\\python37.zip
            
            
              '
            
            , 
            
              '
            
            
              C:\\ProgramData\\Anaconda3\\DLLs
            
            
              '
            
            , 
            
              '
            
            
              C:\\ProgramData\\Anaconda3\\lib
            
            
              '
            
            , 
            
              '
            
            
              C:\\ProgramData\\Anaconda3
            
            
              '
            
            , 
            
              '
            
            
              C:\\Pycham\\anaconda
            
            
              '
            
            , 
            
              '
            
            
              C:\\Pycham\\anaconda\\lib\\site-packages
            
            
              '
            
            , 
            
              '
            
            
              C:\\ProgramData\\Anaconda3\\lib\\site-packages
            
            
              '
            
            , 
            
              '
            
            
              C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32
            
            
              '
            
            , 
            
              '
            
            
              C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib
            
            
              '
            
            , 
            
              '
            
            
              C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin
            
            
              '
            
            ]
          

路徑列表的第一個(gè)元素為空字符串,代表的是相對(duì)路徑下的當(dāng)前目錄.

由于在導(dǎo)入模塊的時(shí)候,解釋器會(huì)按照列表的順序搜索,直到找到第一個(gè)模塊,所以?xún)?yōu)先導(dǎo)入的模塊為同一目錄下的模塊.

導(dǎo)入模塊時(shí)搜索路徑的順序也可以改變.這里分兩種情況:

1,通過(guò)sys.path.append(),sys.path.insert()等方法來(lái)改變,這種方法當(dāng)重新啟動(dòng)解釋器的時(shí)候,原來(lái)的設(shè)置會(huì) 失效 .

            
              import
            
            
               sys
  sys.path.append(
            
            
              '
            
            
              /home/test/
            
            
              '
            
            )
          

2,改變PYTHONPATH,這種設(shè)置方法 永久有效 :

            export PYTHONPATH=$PYTHONPATH:/home/test
          

在這種情況下,可以通過(guò)在sys.path列表顯示的路徑中路徑件來(lái)實(shí)現(xiàn):文檔

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 嫩江县| 开原市| 子洲县| 霍林郭勒市| 平顶山市| 吴忠市| 三河市| 和硕县| 兴仁县| 万载县| 新兴县| 盖州市| 奎屯市| 洱源县| 郴州市| 家居| 玉林市| 昭苏县| 霸州市| 榆树市| 会东县| 盐亭县| 武邑县| 庐江县| 洛隆县| 梅州市| 宣威市| 梁平县| 水城县| 九江县| 阳山县| 阜宁县| 溆浦县| 云霄县| 舟山市| 晋州市| 奎屯市| 北宁市| 贺州市| 香港| 嫩江县|