国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

黑客 - Python模塊安全權限

瀏覽:174日期:2022-06-29 09:36:48

問題描述

現在需要開發一個插件系統。 插件系統所有人都可以編寫PY文件即可加載。但是需要引入主程序的庫 比如

# test.pyfrom lib.function import *...

如何防止用戶訪問lib里面的其他方法或者變量呢?

all 如果加上名稱,我主程序需要調用所有*的話,可以嗎?

問題解答

回答1:

在python并沒有真正的私有變量或者方法, 所以基本上是無法阻止別人訪問另一個模塊的方法或者變量, 但是如果用戶是通過from lib.function import *, 那么我們可以通過__all__屬性去設置*能被import指定的變量或方法, 例如:

cat abc.py__all__ = [’bar’]waz = 5bar = 10def baz(): return ’baz’cat b2.pyfrom abc import *print(dir())# 輸出:[’__builtins__’, ’__doc__’, ’__file__’, ’__name__’, ’__package__’, ’bar’]

可以看到在b2.py的輸出, 并沒有bar和baz, 所以我們可以通過這種方式, 來做一個簡單的控制, 當然下劃線開頭的私有變量也限制了, 但這種限制對 import abc這種引入方式無效

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 拉孜县| 天柱县| 安图县| 启东市| 宁德市| 垫江县| 烟台市| 清流县| 岳阳市| 伊通| 连平县| 沈丘县| 林口县| 专栏| 河西区| 南京市| 逊克县| 新邵县| 双峰县| 施秉县| 大荔县| 鄂托克前旗| 湖北省| 临安市| 阿荣旗| 格尔木市| 绥滨县| 武宣县| 东光县| 花莲市| 安吉县| 清苑县| 准格尔旗| 甘南县| 涪陵区| 河西区| 龙门县| 乐昌市| 门源| 若尔盖县| 浪卡子县|