2
例如::如何停止`ast.parse`將數值轉換爲int/float?
>>> import ast
>>> print(type(ast.parse('1.2', mode='eval').body.n)
float
如何讓解析器轉換Python源文件成語法樹,同時保留在str
類型的節點的原始值?因爲我需要使用分數儘可能精確地將例如'1.2'轉換爲精確值,而不會丟失任何精度(值1.2不能精確地以浮點格式表示)。
最好我希望這樣做,而不需要重新實現解析器。也許有其他解析器比ast
模塊更適合這個。
順便說一句,我需要解析的不僅僅是表達式而是程序。
解析Python源代碼涉及將文字解析爲適當的類型。你可以使用''「」1.2「''而只是將值作爲字符串處理? – BrenBarn
最好我會保留值'1.2',而不必爲每個值添加引號。 – koo
什麼是'mpfr'和'mpq',當它們在標題,正文或評論中沒有提及時,它們與這個問題有什麼關係? – Charles