Python基礎(十八)

2022-06-20 23:24:17 字數 3831 閱讀 4487

常規匯入

# policy.py

def policy_func():

print("這是policy檔案中的函式")

# run.py

import glance.api.policy

glance.api.policy.policy_func()

執行結果:

這是policy檔案中的函式 # 成功匯入

# policy.py

def policy_func():

print("這是policy檔案中的函式")

# run.py

from glance.api.policy import policy_func

policy_func()

執行結果:

這是policy檔案中的函式 # 成功匯入

包內部之間的匯入:

# versions.py

def versions_func():

print("這是versions檔案中的函式")

# policy.py

import versions # 直接匯入versions模組,在外面的run檔案中執行,就無法找到versions模組

def policy_func():

versions.versions_func()

print("這是policy檔案中的函式")

# run.py

from glance.api import policy

policy.policy_func()

執行結果:

modulenotfounderror: no module named 'versions'

絕對匯入:

# versions.py

def versions_func():

print("這是versions檔案中的函式")

# policy.py

from glance.api import versions

def policy_func():

versions.versions_func()

print("這是policy檔案中的函式")

# run.py

from glance.api import policy

policy.policy_func()

執行結果:

這是versions檔案中的函式

這是policy檔案中的函式

# versions.py

def versions_func():

print("這是versions檔案中的函式")

# policy.py

from . import versions

def policy_func():

versions.versions_func()

print("這是policy檔案中的函式")

# run.py

from glance.api import policy

policy.policy_func()

執行結果:

這是versions檔案中的函式

這是policy檔案中的函式

# versions.py

def versions_func():

print("這是versions檔案中的函式")

# policy.py

from . import versions

def policy_func():

versions.versions_func()

print("這是policy檔案中的函式")

執行結果:

importerror: cannot import name 'versions'

單獨匯入包,並使用包內的包或模組

# policy.py

def policy_func():

print("這是policy檔案中的函式")

# run.py

import glance # 只匯入了__init__.py檔案

glance.api.policy.policy_func() # 並不能使用

執行結果:

attributeerror: module 'glance' has no attribute 'policy'

# policy.py

def policy_func():

print("這是policy檔案中的函式")

# glance/__init__.py

from . import api

# glance/api/__init__.py

from . import policy

# run.py

import glance

glance.api.policy.policy_func()

執行結果:

這是policy檔案中的函式

# policy.py

def policy_func():

print("這是policy檔案中的函式")

# glance/__init__.py

from .api import *

# glance/api/__init__.py

from .policy import *

# run.py

import glance

glance.policy_func()

執行結果:

這是policy檔案中的函式

# glance/__init__.py

from .api import *

# glance/api/__init__.py

__all__ = ["versions"] # 只能匯入versions,其餘api下模組都不能被匯入

# run.py

import glance

glance.policy

執行結果:

attributeerror: module 'glance' has no attribute 'policy'

# policy.py

def policy_func():

print("這是policy檔案中的func")

def policy_foo():

print("這是policy檔案中的foo")

# glance/__init__.py

from .api import *

# glance/api/__init__.py

from .policy import *

__all__ = ["policy_foo"] # 控制只能匯入foo函式,其餘函式都不能被匯入

# run.py

import glance

glance.policy_func()

執行結果:

attributeerror: module 'glance' has no attribute 'policy_func'

python 基礎(十八) shutil模組

shutil.copyfileobj src,dst 只拷貝檔案內容,需要open檔案 目標檔案不存在時建立,存在時覆蓋 shutil.copyfileobj open old.xml r open new.xml w shutil.copyfle src.dst 直接拷貝檔案內容 shutil.c...

基礎命令(十八)

paste 命令用於合併檔案的列。paste 指令會把每個檔案以列對列的方式,一列列地加以合併。paste s d 間隔字元 help version 檔案 引數 d 間隔字元 或 delimiters 間隔字元 用指定的間隔字元取代跳格字元。s或 serial 串列進行而非平行處理。version...

Python零基礎入門十八之模組

這篇模組主要講解的是模組的相關知識,首先說下什麼是模組,簡答一句話就是說模組即程式,我們可以任何一段程式作為乙個模組,在需要的時候直接匯入即可。1.模組儲存在 一般跟python的ide放在乙個目錄下,其他目錄如何放置下文將介紹 2.匯入模組的三種方法 1 import 模組名 2 from 模組名...