1. python模塊實質上是一個python文件。
2. 注意: 自定義的python文件的文件名一定不要和已有的模塊沖突。
3. 導入模塊實質上是加載並執行模塊的內容。
首先在下建立ck.py文件,裡面書寫函數和內容如下
digits = [1,2,3,4]
def login():
print('hello')
1、第一種導入方式
導入全部
import sys
sys.path.append('E:\pythonProject\linux學習\d7') 添加當前文件為搜索路徑
print(ck.digits)
ck.login()
#結果
[1, 2, 3, 4]
hello
2、部分導入
import sys
sys.path.append('E:\pythonProject\linux學習\day7')
from ck import login
ck.login()
#結果
hello
3、取別名
import sys
sys.path.append('E:\pythonProject\linux學習\day7')
from ck import login as 登錄模塊
登錄模塊()
#結果
hello
1、查詢搜索路徑信息
import sys
print(sys.path) # 模塊的查詢路徑
2、查看ck模塊可以使用的變量和函數…
import ck
print(dir(ck)) # 查看hello模塊可以使用的變量和函數…
3、補充信息
print(ck.doc) # 查看模塊的說明文檔
print(ck.file) # 顯示模塊的絕對路徑
print(ck.name) # __name__當模塊被導入時,顯示的是模塊的名稱。
4、關於_name_模塊的具體環節
在ck模塊,自己本身運行(name),顯示的是main函數
digits = [1,2,3,4]
def login():
print('hello')
print(__name__)
#結果
__main__
在主函數裡,導入ck模塊運行(ck.name),顯示的是ck文件名
import ck
print(ck.__name__)
5、__all__導入限制
在ck模塊裡面寫入__all__裡面的信息,才能被外部導入
digits = [1,2,3,4]
name = ['westos','ck']
def login():
print('hello')
print(__name__)
__all__=[digits,login()] 限制了導入的范圍只能在這裡面
導入ck模塊,使用模塊外的函數則失敗
from ck import *
login()
print(digits)
print(name)
#結果
NameError: name 'name' is not defined
新建立一個py包取名為sdk,會生成一個_init_文件。創建import py包實際上就是執行_init_文件裡面的內容
寫入ali和華為的py文件
導入方法如下
方法1:
from sdk import ali
from sdk import huawei
ali.create_ecs()
huawei.create_ecs()
方法2: 相對麻煩一些, 需要在包的__init__.py添加導入信息。
import sdk
sdk.ali.create_ecs()
sdk.huawei.create_ecs()
1、模塊的分類:
內置模塊:time,datetime,random, string
第三方模塊: requests, pandas, colorama, faker
自定義模塊: 自己編寫的python文件(模塊)或者包
2、時間模塊具體信息
第一種模塊time
import time
print(time.time()) # 計算時間戳
print(time.ctime()) # 字符串的時間, Sun Feb 7 17:09:55 2021
tuple_time = time.localtime() # 元組類型的時間
print(tuple_time.tm_year) # 2022
第二種模塊datetime
from datetime import date, datetime, timedelta
print(date.today()) # 獲取今天的日期
print(datetime.now()) # 獲取當前時間2021-02-07 17:13:17.170345
print(date.today() + timedelta(days=3)) # 獲取3天後的日期
print(date.today() - timedelta(days=3)) # 獲取3天前的日期
print(datetime.now() + timedelta(minutes=10)) # 獲取10分鐘之後的時間信息
print(datetime.now() - timedelta(minutes=10)) # 獲取10分鐘之前的時間信息
3、random模塊
import random
print(random.random()) # 生成0-1之間的小數
print(random.randint(1, 10)) # 生成1-10之間的整數
print(random.choice(['趙妍', '張宏宇', '張仟軍'])) # 隨機選擇一個元素
print(random.sample(['趙妍', '張宏宇', '張仟軍'], 2)) # 隨機選擇n(n=2)個元素
print(random.choices(['趙妍', '張宏宇', '張仟軍'], weights=[100, 10, 10])) # 隨機選擇一個元素,可以指定權重
4、安裝外部模塊
Windows配置全局pip鏡像源: https://blog.csdn.net/u011627161/article/details/92766340
如何安裝模塊?
>pip install colorama -i https://pypi.douban.com/simple
使用外部安裝的顏色
from colorama import Fore
print(Fore.RED + 'Error: 主機不存在')
print(Fore.GREEN + 'Success: 主機創建成功')
結果
5、faker模塊
生成測試信息的模塊
from faker import Faker
fake = Faker('zh-cn') 生成的為中文
print(fake.name()) 生成一個隨機的名字
print(fake.address()) 生成一個隨機的地址
print(fake.email()) 生成一個隨機的郵箱