Форум сайта python.su
cmd = 'ping google.com' import subprocess PIPE = subprocess.PIPE p = subprocess.Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=subprocess.STDOUT) while True: s = p.stdout.readline() if not s: break print s.decode('cp866'),
Отредактировано sanodin (Янв. 2, 2014 16:58:25)
Офлайн
missial
А вообще хочу написать утилиту, которая бы постоянно выводила средний пинг.Даже план есть небольшой:1. Отображать средний пинг .2. Научиться отображать всё это в GUI3. Сделать постоянyое отображение в трее windows
import sys, os from PyQt4 import QtCore from PyQt4.QtCore import SIGNAL from PyQt4.QtGui import QApplication from PyQt4.QtGui import QIcon from PyQt4.QtGui import QMenu from PyQt4.QtGui import QAction from PyQt4.QtGui import QSystemTrayIcon from PyQt4.QtCore import QString from PyQt4.QtCore import SLOT from PyQt4.QtCore import QTimer import subprocess if __name__ == "__main__": dummy_parent = QtCore.QObject() app = QApplication(sys.argv) plik = QString("/usr/share/icons/crystalsvg/16x16/apps/wine.png") menu = QMenu() quitAction = menu.addAction('Quit') sicon = QIcon(plik) tray = QSystemTrayIcon(sicon, parent=dummy_parent) tray.setContextMenu(menu) tray.show() quitAction.connect(quitAction, SIGNAL("triggered()"), app, SLOT("quit()")) tray.setToolTip("Ale czad!") def show_message(): cmd = 'ping google.com -n 1000' PIPE = subprocess.PIPE p = subprocess.Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=subprocess.STDOUT) while True: s = p.stdout.readline() if not s: break tray.showMessage("google.com", s.decode('cp866')) QTimer.singleShot(2000, show_message) sys.exit(app.exec_())
Офлайн
Я в Qt не работаю, но…
from PyQt4 import QtCore from PyQt4.QtCore import SIGNAL from PyQt4.QtGui import QApplication from PyQt4.QtGui import QIcon from PyQt4.QtGui import QMenu from PyQt4.QtGui import QAction from PyQt4.QtGui import QSystemTrayIcon from PyQt4.QtCore import QString from PyQt4.QtCore import SLOT from PyQt4.QtCore import QTimer
Офлайн
так ?
import sys, os from PyQt4 import QtCore from PyQt4.QtGui import QAction,QSystemTrayIcon,QMenu,QIcon,QApplication from PyQt4.QtCore import SLOT,QTimer,QString,SIGNAL import subprocess
Отредактировано sanodin (Янв. 2, 2014 18:22:11)
Офлайн
sanodin
так ?
Imports should usually be on separate lines, e.g.: Yes: import os import sys No: import sys, os It's okay to say this though: from subprocess import Popen, PIPE
Отредактировано Budulianin (Янв. 2, 2014 19:49:22)
Офлайн
sanodinда, пропустил здесь, невнимательность граничащая с “побыстрей отделаться”
import sys, os
Офлайн
import subprocess address = 'ya.ru' while True: result=subprocess.Popen(["ping",'-n','1', str(address)],shell=True,stdout=subprocess.PIPE) ping = (result.stdout.read().decode('cp866')) m = ping.split() if len(m) != 48: print('0') else: print (m[46])
m[46]
Отредактировано missial (Янв. 3, 2014 22:31:37)
Офлайн
Разобрался)
from tkinter import * import subprocess root=Tk() variable=StringVar() def ping(): address = 'ya.ru' while True: result=subprocess.Popen(["ping",'-n','1', str(address)],shell=True,stdout=subprocess.PIPE) ping = (result.stdout.read().decode('cp866')) m = ping.split() if len(m) != 48: b = '0' else: b = m[46] variable.set(str(b)) root.update() your_label=Label(root,textvariable=variable) your_label.pack() start_button=Button(root,text="start",command=ping) start_button.pack() root.mainloop()
Офлайн