子流程调用打开.txt文件但未写入其中

时间:2019-04-08 20:44:26

标签: python python-3.x raspberry-pi raspbian

我正在尝试使用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')

1 个答案:

答案 0 :(得分:0)

请注意,os.system()在子shell中执行命令。这意味着执行命令的shell的PID将在每个命令处更改。

一个简单的解决方案是将调用中的命令链接到os.system