木易:_/ 2023-07-25 00:05 采纳率: 55.6%
浏览 39
已结题

python文件之间传参问题

遇到的问题

由main.py传参至Dealdata_Function.py时,会出现TypeError: input() missing 1 required positional argument: 'listData'。但独立Dealdata_Function.py并不会出现问题。

相关代码

main.py中的

AllDatalist = ['1-1-3', [["序号", "2", "2"], ['1', '1C', '2']]]
Assign_program().flashInput(AllDatalist)

Dealdata_Function.py中的

class Assign_program():
    # 起始函数区域
    def __init__(self):
        print("开始分配模块......")
        # 测试代码及输入源示例
        # self.flashInput(['1-1-3', [["序号", "2", "2"], ['1', '1C', '2']]])

    def flashInput(self, listData):
        result = listData[0].split("-")
        if result[1] == '1':
            # 解析数据为'1', 跳转相应模块
            Module_General_Demo1.input(listData)
        elif result[1] == '2':
            # 解析数据为'1', 跳转相应模块
            Module_Ds_Demo2.input(listData)
        else:
            print(listData)

# 模块1
class Module_General_Demo1():
    # 起始函数区域
    def __init__(self):
        pass

    def input(self, listData):
        print("开始处理数据......")
        # 测试输入源信息
        print(listData)

尝试过的解决办法

如果单独运行Dealdata_Function.py中Assign_program类中下面代码,是正常的。

self.flashInput(['1-1-3', [["序号", "2", "2"], ['1', '1C', '2']]])

但一运行main程序的代码就会出现问题,提出错误代码为

Traceback (most recent call last):
  File "D:/*********************/main.py", line 698, in processDate
    Assign_program().flashInput(AllDatalist)
  File "D:\******************\Dealdata_Function.py", line 51, in flashInput
    Module_General_Demo1.input(self.list)
TypeError: input() missing 1 required positional argument: 'listData'

请求各位指点,感激不尽!

  • 写回答

4条回答 默认 最新

  • 十八年后又是 2023-07-25 09:36
    关注
    
            if result[1] == '1':
                # 解析数据为'1', 跳转相应模块
                demo1 = Module_General_Demo1()
                demo1.input(listData)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 创建了问题 7月25日