python-3.x - Python ConfigParser.write() 缺少 1 个必需的位置参数“fp”?
问题描述
此处的代码(省略了无关的 Kivy 内容):
from kivy.app import App
from kivy.core.window import Window
from kivy.uix.widget import Widget
from configparser import ConfigParser
import os
class MIDIApp(App):
def build(self):
self.config = ConfigParser()
self.config.read('values.ini')
Window.size = Window.size
return MainWindow()
def input1_comp_move(self, value):
print(int(value))
def input1_save_comp_value(self, value):
self.config['Input1']['comp'] = str(value)
print(str(value))
with open('values.ini', 'w') as config_file:
ConfigParser.write(config_file)
print('Input1 comp value is ', value)
class MainWindow(Widget):
pass
if __name__ == '__main__':
MIDIApp().run()
当我运行它时,我得到了错误ConfigParser.write(self.config_file)
TypeError: write() missing 1 required positional argument: 'fp'
当我将其留空进行调试时,它需要 2 个位置参数,'self'
并且'filename'
当我尝试使用另一个程序时,它不需要。我错过了什么?
解决方案
它应该是 self.config.write(self.config_file) 或者,如果你坚持的话, ConfigParser.write(self.config, self.config_file)
感谢ForceBru
推荐阅读
- r - 我可以使用随机森林来做特征选择插入符吗
- javascript - 我正在研究数组过滤器。我被困在迄今为止添加过滤器
- azure-devops - 使用“每个”在 Azure DevOps 中构造条件
- python - 如何比较不同数据框熊猫中的两列并用其他列替换值
- css - 背景未显示在网页中
- python - 如何在一定值下遮蔽 seaborn kdeplot?
- lua - Lua string::byte() 在 LuaJit 2.1.0-beta3 中返回 nil
- azure - 使用 azurerm 预配 Terraform 子网时出错
- java - 父子概念中方法同名和变量同名
- kotlin - 按 kotlinx.serialization 生成的键排序的映射