gpt4 book ai didi

用于 Traceroute 的 Python 脚本和打印文件中的输出显示错误(OSError : [Errno 2] No such file or directory) in Linux Mint

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:01 32 4
gpt4 key购买 nike

我正在尝试使用 python 脚本在 google.com 上执行 traceroute 并将输出写入文件,即 output.txt

如果我直接使用 subprocess.call('traceroute','google.com') 它工作得很好并且输出打印在屏幕上。因为我想在文件中获取输出,所以我正在使用

subprocess.Popen(["tracert", '-w', '100', 主机名], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

然后将管道数据写入文件。但是我在这一行中收到错误即 OSError: [Errno 2] No such file or directory

代码:

import urllib
import time
import datetime, threading
from bs4 import BeautifulSoup
import urllib2
import subprocess
import socket


fp2=open("output.txt",'w')


#This function will be executed after every x minutes


def TraceRoute():



hostname="google.com"
fp2.write(hostname+" : ")
print(hostname)

#subprocess.call(['traceroute',hostname])

traceroute = subprocess.Popen(["tracert", '-w', '100', hostname],stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while (True):
hop = traceroute.stdout.readline()
if not hop: break
print '-->',hop
fp2.write( hop )


threading.Timer(60*50, TraceRoute).start() #Ensures periodic execution of TraceRoute( ) x=60*50 seconds

TraceRoute()

错误:

追溯(最近的调用最后):

文件“./scr3.py”,第 87 行,位于 跟踪路由()

TraceRoute 中的文件“./scr3.py”,第 76 行 traceroute = subprocess.Popen(["tracert", '-w', '100', hostname],stdout=subprocess.PIPE, stderr=subprocess.STDOUT) init 中的文件“/usr/lib/python2.7/subprocess.py”,第 710 行 读错,写错)

文件“/usr/lib/python2.7/subprocess.py”,第 1327 行,在 _execute_child 中 引发 child_exception

OSError: [Errno 2] 没有那个文件或目录

如何解决?我永远坚持这一点。请帮忙

最佳答案

很确定它应该是 traceroute 而不是 tracert。 tracert是一个windows命令,您还可以使用 iterstdout.readline 来读取输出:

traceroute = subprocess.Popen(["traceroute", '-w', '100',hostname],stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

for line in iter(traceroute.stdout.readline,""):
print(line)

关于用于 Traceroute 的 Python 脚本和打印文件中的输出显示错误(OSError : [Errno 2] No such file or directory) in Linux Mint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29011455/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com