Python如何寫函數給別人調用?

我是希望別人調用的時候不知道我的函數內部的源碼,也就是說不保存.py文件給人家


有幾種方式,不過各有利弊,僅供選擇

1. 可以發布pyc給對方。針對源碼目錄運行 python -m compileall, 就可以編譯出二進位的pyc文件。 不過pyc文件是完全可以反編譯出 python 源碼文件的。

2. 混淆代碼後發布pyc文件給對方。在第一步的基礎上面,先對代碼做混淆。

如果是為了知識產權保密的目的,上面2種都沒有辦法實現,因為很容易就被反編譯破解了

3. 關鍵性的代碼寫成C擴展,加殼之後。編譯成so或者dll來發布

4. 使用jython,混淆之後用gcj編譯成本地代碼發布

不過,再強大的軟體,只要發布出去,都避免不了被破解。上面的措施只是增加被破解的成本而已


以前我也想過這個問題。後來遇到這種事我都是放在我的伺服器搞定的。我有一些excel轉化的api,只是給用戶測試用,用完覺得可以再收費,不付費不給用。然後我就用django搭建伺服器,再部署到伺服器上,用戶試用後不付費,我就加點限制。 https://www.ramwin.com/testexcel/


有伺服器的話寫個api或者用個rpc框架讓別人遠程調


推薦閱讀:

TAG:Python | Python庫 | Python入門 | Python教程 | Python編程 |