这段代码的问题该如何修改? # -*- coding: utf-8 -*- import subprocess import os # 获取jes-agent的pid(hik.jes.jes-agent.1.service) output = subprocess.check_output(["systemctl", "show", "-p", "MainPID", "hik.jes.jes-agent.1.service"]) pid = int(output.split('=')[1]) print(pid) # 查看是否存在jesAgentPid.file文件 jesAgent_file_name = "jesAgentPid.file" # 要查询的文件名 if os.path.isfile(jesAgent_file_name): # 判断文件是否存在 print("文件存在") else: # 文件不存在,则将pid写入到文件中 jesAgent_file_path = os.path.join(os.getcwd(), jesAgent_file_name) with open(jesAgent_file_path, "w") as f: f.write(pid)
时间: 2024-02-26 12:58:28 浏览: 142
#_--_coding_UTF-8_--_import_sys,os,dlib,glob,nu_PythonFace.zip
可以将最后一行的 f.write(pid) 改为 f.write(str(pid)) ,将int类型的pid转化为字符串类型再写入文件。另外,读取文件时也要将读取到的字符串转化为int类型,可以使用 int(f.read())。修改后的代码如下所示:
```
# -*- coding: utf-8 -*-
import subprocess
import os
# 获取jes-agent的pid(hik.jes.jes-agent.1.service)
output = subprocess.check_output(["systemctl", "show", "-p", "MainPID", "hik.jes.jes-agent.1.service"])
pid = int(output.split('=')[1])
print(pid)
# 查看是否存在jesAgentPid.file文件
jesAgent_file_name = "jesAgentPid.file" # 要查询的文件名
if os.path.isfile(jesAgent_file_name): # 判断文件是否存在
print("文件存在")
else:
# 文件不存在,则将pid写入到文件中
jesAgent_file_path = os.path.join(os.getcwd(), jesAgent_file_name)
with open(jesAgent_file_path, "w") as f:
f.write(str(pid))
# 读取文件中的pid,并转化为int类型
with open(jesAgent_file_path, "r") as f:
saved_pid = int(f.read())
print(saved_pid)
```
阅读全文