我試圖用difflib比較兩個事物的字節碼,但dis.dis()總是將它打印到控制檯。任何方式來獲得輸出的字符串?在字符串中獲取dis.dis()的結果
2
A
回答
2
用途StringIO的重新定義的std出到繩狀對象(蟒2.7溶液)
import sys
import StringIO
import dis
def a():
print "Hello World"
stdout = sys.stdout # Hold onto the stdout handle
f = StringIO.StringIO()
sys.stdout = f # Assign new stdout
dis.dis(a) # Run dis.dis()
sys.stdout = stdout # Reattach stdout
print f.getvalue() # print contents
+0
我喜歡這個。它是動態的。 –
2
如果你正在使用Python 3.4或更高版本,可以使用該方法Bytecode.dis()
獲得該字符串:
>>> s = dis.Bytecode(lambda x: x + 1).dis()
>>> print(s)
1 0 LOAD_FAST 0 (x)
3 LOAD_CONST 1 (1)
6 BINARY_ADD
7 RETURN_VALUE
你可能也想看看dis.get_instructions()
,它返回一個名爲元組的迭代器每個對應一個字節碼指令。
相關問題
- 1. 捕獲dis.dis結果
- 2. 獲取字符串的結果?
- 3. 在PHP中獲取包含在字符串中的結果?
- 4. 獲取perl字符串計算結果
- 5. 獲取Saxon XsltTransformer.Run()結果爲字符串
- 6. 獲取XML結果作爲字符串
- 7. Android HTTP獲取和結果字符串
- 8. 在Lex中獲取以字符串「lngt」結尾的字符串
- 9. JSoup Android:在單獨的字符串中獲取每個結果
- 10. 如何在javascript代碼中獲取console.log的結果字符串?
- 11. 在字符串中獲取查詢結果
- 12. Struts 2在JSP中獲取結果字符串
- 13. 在字符串中獲取字符串
- 14. 獲取SQL查詢的結果字符串中的Rails
- 15. 如何使用NamedParameterJDBCTemplate中的字符串列表獲取結果
- 16. 結果行在powershell中的字符串
- 17. 從查詢結果而不是行中獲取字符串
- 18. 從re-seq結果中獲取字符串索引
- 19. 如何從檢查結果中獲取字符串?
- 20. 在SimpleXmlElement上使用xPath獲取單個字符串結果
- 21. 在字符串中獲取字符數
- 22. 獲取函數的結果作爲jQuery的字符串Datetimepicker
- 23. 獲取查詢字符串的結果,而不使用Response.Redirect的
- 24. 如何格式化字符串日期並獲取字符串作爲結果?
- 25. 簡單的Java查詢 - 從字符串獲取結果
- 26. 將sp_helptext的結果作爲單個字符串獲取
- 27. 獲取文字在字符串中的字符在蘋果腳本
- 28. 在PHP中獲取字符串作爲MySQL的結果 - 字符串總是空的?
- 29. 從字符串中的ORKQuestionResult數組中獲取Researchkit中的結果?
- 30. 從Powershell中的文本文件中獲取字符串的gci的fliter結果
@DanGetz編輯的問題。 –
如果有人來到這裏並且正在尋找Python 2解決方案,請參見[this other question](http://stackoverflow.com/q/12111717/3004881)。 –