本文目錄一覽:
Python調用自定義模塊方法有什麼
import語句
自定義模塊可以採用import語句來進行引入,其操作步驟是先導入模塊,再調用模塊中包含的函數,可將自定義模塊放入當前目錄,便於解釋器路徑搜索,以下是導入自定義hello.py模塊,並調用World函數的實例:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
#導入模塊
import hello
#現在可以調用模塊里包含的函數了
support.print_func(“World”)
輸出結果為:
Hello World!
以上實例也可以採用from…import的方法進行實現,是指從一個模塊中導入指定的部分到當前命名空間中,以上功能可寫成:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
from hello import World
如果要將模塊中的所有內容全部導入當前命名空間,可採用from…import*的方法,具體實例如下:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
from hello import *
還需注意,當要導入一個模塊時,Python解釋器會對模塊的位置進行搜索,具體搜索順序規律如下:
1.當前目錄;
2.如果不在當前目錄,Python則搜索在shell變數PYTHONPATH下的每個目錄;
3.如果都找不到,Python會察看默認路徑。
話題通信自定義msg為什麼生成的Person.py文件顯示 unicode報錯
系統不兼容。因為話題通信自定義msg所生成的Person.py文件是python腳本文件,py文件讀取方式有f.read、f.readline、f.readlines和f.seek,而unicode系統沒有py文件的讀取方式,Person.py文件與unicode系統不兼容,因此導致顯示unicode報錯。
RF引入自定義庫
小白一枚,在此記錄,方便自己回顧。
1、在python安裝目錄下的 Lib\site-packages 目錄下新建一個目錄,目錄名就是庫名,如我創建的TestLoginLibrary文件夾
2、在新建的TestLoginLibrary目錄下創建一個python文件,擴展名為py。如:CtLogin.py
3、在新建的TestLoginLibrary目錄下創建 __init__.py 文件,文件名必須固定這樣。該文件的功能,就是把關鍵字類暴露出來,讓rf能知道。注意py文件名與裡面的類名應一致,貌似大小寫不區分。
其內容如下:
from CtLogin import CtLogin #第一個CtLogin指剛創建的py文件,第二個CtLogin是py文件中的類名
class TestLoginLibrary(CtLogin): #這裡的類名與庫文件夾名稱一致,括弧中變數是py文件中的類名
ROBOT_LIBRARY_SCOPE = ‘GLOBAL’
4、在rf中引入新建的TestLoginLibrary,不需選擇路徑,直接輸入「TestLoginLibrary」。
5、經過以上,自定義庫的骨架就有了,下面自己在CtLogin.py中寫具體要實現的功能,比如我要實現的是運行登錄介面後獲取cookies,方便其他介面使用。
import requests
import json
class CtLogin:
def __int__(self):
pass
def testLogin(self, userName, userPwd):
url = “”
headers = {
“Content-Type”: “application/json;charset=UTF-8”
}
data = {
“userName”: userName,
“authCode”: “”,
“userPwd”: userPwd
}
res = requests.post(url=url, json=data, headers=headers)
return (res.cookies)
6、現在去rf中使用我定義的關鍵字「testLogin」~
每個測試人員用不同的測試用戶名、密碼,得到返回值,再把它設置為全局變數。
7、我把登錄相關的東西都放在了Resource中,TestCase中引用關鍵字即可。
是不是很easy~
2019-03-05補充:
在一個library中新建多個關鍵字方法時,只需要在CtLogin.py文件中添加def方法即可。
Python 實現自定義添加保存&刪除功能?
要保存,就物理存儲,文件形式,或者資料庫表格存儲。程序啟動讀取一下就好。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/156647.html