網通與資安發展促進結社

網通與資安發展促進結社 之

Pogo Tsai 的 "新" 異空間

Pogo Tsai 的 "新" 異空間

FB

現在, 也可以在 Facebook follow 了, 歡迎加入 It苦命xx團
或著, 按我回首頁 來看更多訊息

2016年3月14日

Timer 語法的筆記

在 多工處理的狀況下, 如果用 time.sleep () 有時會因某個程序處理不過來, 而造成 時間的延遲或錯亂, 這時用 Timer 這個語法就很方便了, 但 Timer 的語法格式有點詭異, 筆記一下

我是參考這個解決的
http://stackoverflow.com/questions/16578652/threading-timer

簡單來說, 以這範例是沒問題的

import threading

def hello():
    print "hello, world"

t = threading.Timer(10.0, hello)
t.start() 
print "Hi"
i=10
i=i+20
print i

也可以改成  import Timer form threading

那語法就會簡化成
Timer (時間變數, 要跑的子程序).start

問題來了, 子程序還有帶變數會發生什麼事

import threading

def hello(s):
    print s

h="hello world"
t = threading.Timer(10.0, hello(h))
t.start() 
print "Hi"
i=10
i=i+20
print i
直覺來說, 應要寫成

Timer (時間變數, 要跑的子程序(變數)).start



Timer (時間變數, 要跑的子程序,(變數)).start

事實上, 以上 2 個語法都會造執行結果的錯誤

以範本來說, 正確語法為
t = threading.Timer(10.0, hello, [h])
以我的語法為
Timer (時間變數, 要跑的子程序,[變數]).start

原因有空再研究, 先筆記








2016年1月7日

Scapy 在 Windows Python 2.7 的安裝

大部分 Scapy 文件都基於 Python 2.6, 一些元件for Python 2.7  在 Windows 要自行compiler 很麻煩..

網路有人打包好 32 & 64 bit 的版本

https://github.com/Kondziowy/scapy_win64

需要的可以自行下載

Scapy 還在研究中, 暫不開放相關問題的詢問

另就是.. liunx 環境簡單多了.. sudo pip install scapy 就收工..
只想玩玩不是特意要在 windows 環境開發的話, 就還是在 linux 下試就好了



2016年1月5日

pyshark 在中文語系問題的解決法

pyshark 是個很方便的模組, 讓 python 能輕易的整合 wireshark 的 tshark 的功能.. 但在 中文 widnows 運作時, 會有神奇的 lxml 錯誤

XMLSyntaxError: Input is not proper UTF-8, indicate encoding !

害我找半天一直以為是 windows python 環境有問題還是怎樣, 在 linux 就見不到這問題
重裝全新 windows & python 都出現相同錯誤的狀況下, 我開始懷疑犯人應是 windows

果然, 在試了一些設定後

真的是 windows 的顯示語言格式問題,  把控制台-> 地區->格式 改為英文 就解決了..



浪費了我一天找問題...

Windows Python 的 lxml 的安裝

在 windows python 的環境下, 有時要用到 lxml 的模組.. 有個很詭異的狀況是 如果你習慣用 pip 在做模組的管理與安裝時, 會發現不管怎樣, pip install lxml 都會出現錯誤, 解決方式是..

換成 easy_install 就好了.. (╯‵□′)╯︵┴─┴

原因不明, 但懶得再去深入研究了, 筆記一下

還是有問題的, 由此下載安裝 https://pypi.python.org/pypi/lxml

2015年10月28日

python paramiko windows 安装 PyCrypto 套件

筆記一下, 印像中 easy_install 即可, 但同事遇到了  PyCrypto 套件安裝不正常的狀況

直接去 http://www.voidspace.org.uk/python/modules.shtml#pycrypto

下載對應的 python 版本套件即可