我正在尝试使用python脚本对 google.com 执行跟踪路由,并将输出写入文件即输出.txt
如果我直接使用subprocess.call('traceroute','google.com'),它工作得非常好,输出会打印在屏幕上。因为我想把输出放在文件中,所以我正在使用
子流程。Popen(["tracert ",'-w ',' 100 ',hostname),stdout =子进程。管道,stderr =子进程。STDOUT)
,然后将管道数据写入文件。但是,我在此行中遇到错误,即操作系统错误:[Errno 2]没有这样的文件或目录
代码:
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 TraceRoute=子流程中的文件“./scr3.py”,第76行。Popen([“tracert”,'-w','100',主机名],stdout=subprocess.PIPE,stderr=subpprocess.stdout)文件“/usr/lib/python2.7/subprocess.py”,第710行,在init errread,errwrite中)
文件“/usr/lib/python 2.7/subprocess . py”,第1327行,in _execute_child引发child_exception
OSError:[Errno 2]没有这样的文件或目录
如何解决这个问题?我一直坚持这一点。请帮忙
很确定它应该是traceroute
而不是tracert
。tracert是一个windows命令,您也可以使用iter
和stdout.readline
来读取输出:
traceroute = subprocess.Popen(["traceroute", '-w', '100',hostname],stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in iter(traceroute.stdout.readline,""):
print(line)
问题内容: 我有几个运行良好的python脚本,但是如果我尝试从bash运行它,一个脚本(截至今天上午)开始给我这个错误: : 无此文件或目录 我可以通过运行“破损”脚本并四处查看后,发现我的总体思路是,我的hashbang的行尾已更改(无提示),因此我查看了工作脚本的行尾并通过VI中的选项破坏了脚本,如该问题所示->在文本文件中查看行尾 两个文件似乎都以相同的字符(a )结尾,因此我对如何从此处
问题内容: 我想在我的一个golang控制器中指定一个html模板。我的目录结构是这样的 我想为请求/ new加载first.html。我已经将NewHandler用于url / new,并且当/ new请求到达并且在controller.go中时,NewHandler函数正在执行。这是我的代码 但是我遇到一个错误 请帮助我删除此错误。提前致谢 问题答案: 我已经通过提供html的绝对路径解决了这
问题内容: 我正在使用Ubuntu 14.04。我有以下代码: 但我不断收到以下错误: python程序和图像都在同一位置。可能是什么问题? 问题答案: 您需要安装:
我在节点Js中工作。当我尝试加载文件时:moviedata.json,如下行: 显示: 错误:ENOENT:没有这样的文件或目录,打开'./moviedata.json'在错误(本机)在Object.fs.open同步(fs.js:640: 18)在Object.fs.readFileSync(fs.js:508: 33)在对象。(/用户/dortiz/文档/NodeJS/pruebas/zw/a
为了解决需要对GitHub示例中的代码进行哪些特定的更改? 对的请求的控制台输出将触发上面的express.js方法,反复导致错误: 新的指定express.js是: 除了之外,GitHub示例应用程序中的所有其他内容都与您在GitHub上看到的内容相同,它只包含支持和中更改的依赖项,如上图所示。
当我尝试在CMD中执行此操作时 我收到这个错误: 当文件存储在 (get-pip.py) C:\Python27\工具\脚本