如何在 Python 3.6 中从文件中导入方法

如果您遇到错误,请提供错误(尽可能完整的堆栈跟踪)。但是,即使没有这些,您也可能会遇到或将遇到错误处理插入的问题。


sample_data = str(i+1)+",'"+ts+"',"+flowRate+","+velocity+","+netTotalizer+","+posTotalizer+","+negTotalizer


此处的粗体显示您在何处添加单引号sample_data。然后您使用insertTodbMeter包含单引号的值调用,但这些值并非全部引用,这意味着这将中断:


sql_insert = "INSERT INTO btureading(sensorId,dt,flowRate,velocity,netTotalizer)VALUES('"+myVal+"')"


正确的方法是使用准备好的语句/参数化查询。不要尝试构建 SQL 字符串;传递您的值并让数据库库处理它。这是基于此示例的起点:


def insert_to_db_meter(sensor_id, dt, flow_rate, velocity, net_totalizer):

    mydb = conndev()

    mycursor= mydb.cursor(prepared=True)


    sql_insert = """

        INSERT INTO btureading (

            sensorId,

            dt,

            flowRate,

            velocity,

            netTotalizer

        )

        VALUES (

            %s,

            %s,

            %s,

            %s,

            %s

        )

    """

    mycursor.execute(

        sql_insert, 

        (

            sensor_id, 

            dt, 

            flow_rate, 

            velocity, 

            net_totalizer,

        ),

    )

    mydb.commit()


    return sql_insert


慕姐8265434
浏览 194回答 3
3回答

SMILET

我想指出,python 环境中已经有一个名为 math 的库。将目录名称更改为 math2 后,您可以尝试以下操作:要添加您应该使用的模块from math2 import add,它应该可以工作。您可以参考模块上的 python 文档以获取更多信息。编辑:您正在引用add模块,就好像它是operations.py. 你应该这样做,from math2.add import add或者你应该add.add()在以前的表格中打电话。

萧十郎

您在最后一行的 operations.py 中拼错了方法名称。应该是操作('add', 9, 18)下面是修改后的操作。py 工作正常。from math2.add import adddef operations(what, param1, param2):    if(what == 'add'):        a= add(param1, param2)        print(a)if __name__ == '__main__':    operations('add', 9, 18)

茅侃侃

您应该设置PYTHONPATH为您的 src 文件夹export&nbsp;PYTHONPATH=$PYTHONPATH:/<src-path>然后,使用这个导入:from&nbsp;math.add&nbsp;import&nbsp;add
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python