首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在变量达到len(ADCDATA) == 100000后通过def main函数运行

在变量达到len(ADCDATA) == 100000后通过def main函数运行
EN

Stack Overflow用户
提问于 2019-04-09 09:20:45
回答 1查看 34关注 0票数 1

只有在使用键盘中断时,代码才会停止。

虽然我将其取出并读取了adc数据,然后随着update_sheet一起跳过了spi.close (“PCEM SHT.1",ADCDATA),但还是使用了断点。

我尝试使用不同的异常,根据ADCDATA中的变量数量引发异常,但没有效果

代码语言:javascript
复制
# import many libraries
#!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import print_function  
from googleapiclient.discovery import build  
from httplib2 import Http  
from oauth2client import file, client, tools  
from oauth2client.service_account import ServiceAccountCredentials  
import datetime
import spidev # import the SPI driver


def read_mcp3002(channel):

### Working ADC Code

    return adc_data


def update_sheet(sheetname, my_list):  

###Working Update google sheet code
try:
    while True:
        Result=1##3.23#for 3302 [mV]..... Voltage=(High Voltage-Low Voltage)/(2^(# of conversion bits))
        voltage1=(read_mcp3002(0))
        voltage1k=voltage1*Result
        voltage2=(read_mcp3002(1))
        voltage2k=voltage2*Result  # This one #


        ADCDATA += [[voltage1k, voltage2k]]

        if len(ADCDATA) == 100000:
            #print(ADCDATA)
            ADCDATA = []
            print("+10000")


except KeyboardInterrupt: # Ctrl-C
    spi.close()


def main():  


    update_sheet("PCEM SHT.1", ADCDATA)


if __name__ == '__main__':  
    main()

期望的结果是在len( ADCDATA) =100000处自动停止:如果len(ADCDATA)为==100000,它将运行if语句中的代码,还将执行spi.close(),最后通过def main()的update_sheet("PCEM SHT1",ADCDATA)运行。

EN

回答 1

Stack Overflow用户

发布于 2019-04-09 12:15:07

我可以通过导入sys并在if len(ADCDATA)==100000的底部放置一个系统出口(1)来处理我的问题。

代码语言:javascript
复制
if len(ADCDATA)==100000

print("PCEM DATA") spi.close() update_sheet"........")sys.exit(1)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55583822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档