python怎样导出py文件_导出python模块(到字符串或py文件)
摘要:
我想要一個'module'類型的變量并導出它。在
我使用import從.py文件導入python模塊并對其進行更改。我需要將模塊導出回一個文件,或者獲取完整模塊的字符串表示形式,然后將其寫入磁盤。在
我一直找不到任何方法來導出python模塊或將模塊中的對象轉換為結構化的純文本python可執行格式的字符串。(不是json、酸洗等)
詳細問題和用例:
此要求是內部構建過程的一部分;沒有安全要求,只有我們自己的模塊(而不是內置模塊)正在被修改。python腳本與業務邏輯一起運行,以修改許多其他腳本。此進程使用僅在生成時可用的信息。因此,我無法選擇在運行時導入具有不同數據的模塊。在
最初的系統使用了一個帶有占位符字符串的模板,這些占位符字符串將被替換,但當前的需求要求對對象聲明進行更復雜的修改,在這種情況下,通過編程修改對象要比字符串替換容易得多。在
我做了什么
有了用python編寫的主生成器腳本,我可以導入多個模塊(它們只有變量聲明,沒有可執行代碼),并進行所有需要的替換。剩下的是module類型的變量,需要將其導出回一個文件中,以便以后執行。在
@阿巴內特有一些好主意。我不知道repr函數。這給了我信息,但沒有任何格式。這讓我看到了pprint,它與我所喜歡的非常接近。在
示例
示例.py在sample = {
'level1_dict_1' : {
'key1' : 'value1',
'key2' : {
'level2_dict' : {
'key1' : 'value3',
'key2' : ['list1','list2','list3','list4'],
}
}
},
'level1_dict_2' : {
'key1' : 'value1',
'key2' : 'value2',
},
}
大大簡化了(并且沒有應用任何業務邏輯),我基本上想做以下事情:
^{pr2}$
我希望有與源文件相同的格式,但是pprint雖然可讀,但格式與我希望的不同。這可能是我所需要的。在
p打印輸出:sample =
{'level1_dict_1': {'key1': 'value1',
'key2': {'level2_dict': {'key1': 'value3',
'key2': ['list1',
'list2',
'newlistitem3',
'list4']}}},
'level1_dict_2': {'key1': 'value1', 'key2': 'value2'}}
編輯和澄清:
-我的目標是加載一個模塊,修改它,然后將它保存回一個可執行的python文件。這就是我反對pickle、json等的原因。
-重寫用例以進行澄清
-增加了我嘗試過的例子和更多信息
總結
以上是生活随笔為你收集整理的python怎样导出py文件_导出python模块(到字符串或py文件)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拍拍贷委外处理怎么还
- 下一篇: 尿素相关股票龙头