python可能导致异常的代码_Python程序可能导致文件系统错误?
概述:
你好.我有一个python程序,在9-5小时之间控制一个运动传感器.该程序在树莓派上运行,存储在带有西方人v2.1 Debian OS的SD媒体上.该计划在很大程度上依赖于time.sleep方法在非工作时间睡觉,并在第二天上午9点恢复它的职责.如果传感器触发,它会通过网络摄像头自动拍摄一张小图片.
问题:
直到最近该程序工作正常,直到某天有人触发传感器并且take_picture()函数无法初始化/ dev / video0.似乎udev没有将设备映射到/ dev / video *,当我重新插入网络摄像头并用“dmesg | tail”检查它的状态时,我收到一个错误:
[36725.201116] EXT4-fs error (device mmcblk0p2): udev
在研究了问题并得出文件系统损坏的结论后,我试图在SD媒体上运行文件系统检查.在该过程中解决了许多错误,但重新安装USB网络摄像头后再次出现相同的EXT4-fs错误消息.
修复尝试#1
此时我重新安装了操作系统并重新运行了我的传感器python程序;两天它工作,发送图像,睡觉.我假设一切正常,所以我关闭设备将传感器放在更集中的位置.
启动设备并只是从ssh连接运行“python”命令后,我收到此错误:
Traceback (most recent call last):
File "/usr/lib/python2.7/site.py", line 562, in
main()
File "/usr/lib/python2.7/site.py", line 544, in main
known_paths = addusersitepackages(known_paths)
File "/usr/lib/python2.7/site.py", line 271, in addusersitepackages
user_site = getusersitepackages()
File "/usr/lib/python2.7/site.py", line 246, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/lib/python2.7/site.py", line 235, in getuserbase
from sysconfig import get_config_var
ImportError: cannot import name get_config_var
在程序运行的时间和重新启动之间没有更改任何设置.我假设最坏的并再次检查“dmesg | tail”并收到更多的文件系统错误:
[36725.201116] EXT4-fs error (device mmcblk0p2): ext4_ext_check_inode:403: inode #21266: comm python: bad header/extent: invalid extent entries - magic f30a, entries 1, max 4(4), depth 0(0)
[36725.239030] EXT4-fs error (device mmcblk0p2): ext4_ext_check_inode:403: inode #21427: comm python: bad header/extent: too large eh_max - magic f30a, entries 1, max 516(4), depth 0(0)
在额外的文件系统检查并重新启动后,运行“python”:
[ 819.427780] EXT4-fs error (device mmcblk0p2): ext4_ext_check_inode:403: inode #21266: comm python: bad header/extent: invalid extent entries - magic f30a, entries 1, max 4(4), depth 0(0)
[ 819.470874] EXT4-fs error (device mmcblk0p2): ext4_ext_check_inode:403: inode #21427: comm python: bad header/extent: too large eh_max - magic f30a, entries 1, max 516(4), depth 0(0)
[ 819.570893] EXT4-fs error (device mmcblk0p2): ext4_xattr_block_get:232: inode #21265: comm python: bad block 128
在这一点上,我认为这些错误的原因可能与我的程序的核心有关,但实质上它很简单,只在创建图片时写入磁盘.以下是罪魁祸首代码:
潜在问题的代码:
def take_picture():
cam = pygame.camera.Camera("/dev/video0",(320,240)) #1280x960 max but slow
pygame.init()
cam.start()
print "Capturing Image..."
image_output = cam.get_image()
pygame.image.save(image_output,'img_' +str(get_timestamp)+'.jpg')
cam.stop()
#activate PIR
def pir_init():
while True:
m = datetime.datetime.now().time().minute #loop through for current time
h = datetime.datetime.now().time().hour
d = datetime.datetime.today().weekday()
if d > 4:
print("Sleeping...")
print time_sleep
time_sleep = (((7 - d) * 3600) * 24) - (h * 3600) + (9 * 3600)
time.sleep(time_sleep)
elif h < 9:
print("Sleeping...")
time_sleep = (9 - h) * 3600
time.sleep(time_sleep)
elif h > 16:
print("Sleeping...")
time_sleep = ((24 - h) + 9) * 3600
time.sleep(time_sleep)
elif io.input(pir_pin):
print("PIR ALARM")
pygame.camera.init()
time.sleep(1.5)
take_picture()
send_gmail()
time.sleep(10) #cooldown to prevent email spew
else:
print "Waiting..."
time.sleep(0.5) #sleep and wait for movement
print m
print "Wait"
我上面可以看到的唯一潜在问题可能是生成图片或长时间睡眠.
任何洞察可能导致这些重复文件系统错误的内容都将受到赞赏.提前致谢!
python可能导致异常的代码_Python程序可能导致文件系统错误?相关推荐
- python while true循环卡住不动_python – While循环导致整个程序在Tkinter中崩溃
我试图运行一个While循环,以便不断做一些事情.目前,它所做的只是崩溃我的程序. 这是我的代码: import tkinter def a(): root = tkinter.Tk() canvas ...
- python做公司内部系统错误_Python程序可能导致文件系统错误?
概述: 你好.我有一个python程序,在9-5小时之间控制一个运动传感器.该程序在树莓派上运行,存储在带有西方人v2.1 Debian OS的SD媒体上.该计划在很大程度上依赖于time.sleep ...
- python同时注释多行代码_python怎么同时对多行代码进行注释
学会向程序中添加必要的注释,也是很重要的.注释不仅可以用来解释程序某些部分的作用和功能(用自然语言描述代码的功能),在必要时,还可以将代码临时移除,是调试程序的好帮手. 当然,添加注释的最大作用还是提 ...
- python都用什么写代码_python都用什么写代码
各位 Pythoner 好啊!在这个烦躁的时代,相聚就是缘分,很高兴各位 Pythoner 能相聚于此,希望接下来的路,我们一起走下去,使用 Python 来做一些有趣的事情,有意义的事情. 我们在使 ...
- python求n的阶乘代码_python计算n的阶乘的方法代码
python中n的阶乘的算法? 1 math.factorial(x) 用python计算n的阶乘的方法.(含示例代码) 2. reduce函数 用python计算n的阶乘的方法. python里怎么 ...
- python在类中定义全局变量_python程序中用类变量代替global 定义全局变量
在python编程中,一般使用global 关键字来定义全局变量,但是发现 global 关键字在涉及多个文件时,好像存在问题. 比如,单个文件下用global定义使用全局变量的情况 ,看下面的代码 ...
- python执行原理是什么意思_Python程序的执行原理
摘要:Python程序的执行原理是什么,下面这篇文章为你详细介绍. 1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执 ...
- python读取pdf表格数据代码_Python新工具:用三行代码提取PDF表格数据
原标题:Python新工具:用三行代码提取PDF表格数据 机器之心报道 项目作者:vinayak mehta,参与:一鸣 从 PDF 表格中获取数据是一项痛苦的工作.不久前,一位开发者提供了一个名为 ...
- python版本可执行可嵌入_Python程序打包成exe可执行文件的方法探究
王瑞文+王圣辉+边润根+邓明月 摘 要:Python是一种很流行的开源编程语言,可以在各种领域中用来编写独立的程序和脚本.Python免费.可移植.功能强大,而且使用起来相当容易.来自软件产业各个角落 ...
- python输出图形效果的代码_python打印图形大全(详解)
原博文 2019-04-13 23:48 − 1)for i in range(0,10): shixin=chr(9679) print(shixin) -------------------结果: ...
最新文章
- ocr智能图文识别 tess4j 图文,验证码识别
- mac svn 可视化界面_svn for mac 操作
- 高压发生器的输出电压波形
- Oracle传输表空间
- 小蚂蚁学习数据结构(32)——二叉排序树的概念
- 新手可以做的ai比赛:亲测有效
- win10下安装SQLServer2000
- jdbc:log4jdbc_使用Log4jdbc记录JDBC操作
- [js] 如何按回车自动提交表单
- for循环c语言流水灯,巧用数组与for循环为流水灯程序瘦身
- JQuery1.2.6 ui.dialog控件在IE6下标题栏显示不正常的问题解决
- DNS(BIND) 正向解析 反向解析 基本服务的搭建
- python玩我的世界盒子_省培预存|编程教学建议第一辑“教材分层次梳理”
- C语言函数二维数组传递方法
- MySQL用户的增删改权以及root远程连接
- 编译FREETYPE:VS2010错误MSB8008
- 军团要塞2无限子弹服务器,【图片】教大家创建tf2服务器(互联网的)小白版~【军团要塞吧】_百度贴吧...
- 互动3D网站已触手可及
- 如何计算芯片的ESP mac 地址
- 努力是为了让自己不平庸
热门文章
- 论文阅读-目标检测(2019)-CenterNet:目标检测转化为关键点检测及其属性回归
- 树莓派4B Ubuntu20.04 ROS2 ORB-SLAM3
- input 函数的输入和输出
- 【大数据实战】Logstash采集-Kafka-ElasticSearch检索
- iOS开发证书要点详解
- java的两种核心机制(一)
- 泛型学习第一天:List与IList的区别 (二)
- 【OpenCV学习笔记】【教程翻译】二(车牌识别算法框架)
- leetcode刷题日记-转换成小写字母
- 从零基础入门Tensorflow2.0 ----四、16.tfrecord基础API使用