python - 子进程调用打开 .txt 文件但不写入它
问题描述
我正在尝试使用 RaspberryPi 通过 Python 3 将 GPS 数据写入 CSV。当命令直接通过控制台运行时,写入文件有效,但是当它在 python 中时,文件打开然后返回错误(通常是另一个进程正在运行)。我们在另一行写了终止进程,但它仍然没有写入 CSV。有小费吗?
import math
import time
import os
os.system('sudo fuser -k/dev/ttyAMAO')
os.system('stty -F /dev/ttyAMAO 9600')
os.system('sudo gpsd /dev/ttyAMAO -F /var/run/gpsd.sock')
os.system('sudo gpsmon /dev/ttyAMAO -l /home/pi/Desktop/GPSDATA.txt')
解决方案
请注意os.system()在子 shell 中执行命令。这意味着执行命令的 shell 的 PID 将在每个命令处发生变化。
一个简单的解决方案是将调用中的命令链接到os.system
.
推荐阅读
- amazon-web-services - 如何为 IAM 角色策略模板使用 Cognito 自定义属性
- python - 为什么转换 ndarray->DataFrame 会改变值?
- javascript - 根据数据以角度设置:defore css属性
- unix - cronjob 将文件从一个目录复制到当前日期文件夹下的另一个目录(如果不存在)
- angular - 如何从 mat-form-field 的指令中获取 FormControlName?
- javascript - 如何在 searchconsole('v1') 中传递参数
- javascript - 如何从 Javascript 中的 Cucumber 表中提取数据?
- java - 在Android中结束ScaleAnimation时将LayoutView设为Circle?
- php - 无法在 Laravel 的表格中上传多张照片,任何帮助都将得到解决
- android - 如何存储流数据并在颤动列表视图中显示新的和旧的?