python --curl重定向到文件范例
import sys
import os
import subprocess
import time start = time.time()
old=sys.stdout
f=open('testdata.log','w')
sys.stdout=f
p = subprocess.Popen(('/bin/sh','-c','curl 10.0.0.3:9918 -o /dev/null'), stdout=sys.stdout, stderr=subprocess.STDOUT) while :
end=time.time()
#print end-start
if end-start>:
p.terminate()
break
time.sleep() sys.stdout=old
f.close()
以上是freebsd运行环境
下面是win7运行环境
import os,sys
import subprocess
import time
import random def test(t):
sys.path.append(r'd:\curl')
start = time.time()
timestr = time.strftime("%Y%m%d",time.gmtime(start))
ran=random.uniform(, )
filename="d:\\curl\data\\"+"log_"+str(timestr)+"_"+str(ran)+".txt"
filepath = os.path.dirname(filename)
if not os.path.exists(filepath):
os.mkdir(filepath)
f=open(filename,'w')
old=sys.stdout
sys.stdout=f
#print time.strftime("\n%Y-%m-%d %H:%M:%S\n",time.gmtime(start)) #cmdstr="d:\\curl\curl 10.0.0.1//data/myfun/source/resource/movies/3B0C5ACD8414D7B2918EBD75AE9843B6.mp4 -o null"
cmdstr="d:\\curl\curl --limit-rate 100B 10.0.0.1//data/myfun/source/resource/movies/583B26DE308A12046251B3F2CA7C0755.mp4 -o null"
p = subprocess.Popen(cmdstr,stdout = sys.stdout, stderr = subprocess.STDOUT, shell = False) while :
if (p.poll()==):
p.terminate()
time.sleep()
break f.close()
sys.stdout=old
print "end>>>>>>>>>>>>>>>>>>>>" test()
范例3:
import os,sys
import subprocess
import time
import random def test():
sys.path.append(r'd:\curl')
start = time.time()
timestr = time.strftime("%Y%m%d%H%M%S",time.gmtime(start))
ran=random.uniform(, )
filename="d:\\curl\data\\"+"log_"+str(timestr)+"_"+str(ran)+".txt"
#filename="d:\\curl\data\\"+"log_"+str(timestr)+".txt"
filepath = os.path.dirname(filename)
if not os.path.exists(filepath):
os.mkdir(filepath)
f=open(filename,'w') sys.stdout=f
cmdstr="d:\\curl\curl -x 10.0.0.54:3128 http://192.168.6.199/source/BT.mp4 -o null " print cmdstr
p = subprocess.Popen(cmdstr,stdout = f, stderr = f, shell = False) while :
if (p.poll()==):
p.terminate()
time.sleep()
break print "end>>>>>>>>>>>>>>>>>>>>"
f.close() test()
范例4:
import os,sys
import subprocess
import time
import random
import string def test():
sys.path.append(r'd:\curl')
start = time.time()
timestr = time.strftime("%Y%m%d%H%M%S",time.gmtime(start))
ran=random.uniform(, )
filename="d:\\curl\data\\"+"log_"+str(timestr)+"_"+str(ran)+".txt"
#filename="d:\\curl\data\\"+"log_"+str(timestr)+".txt"
filepath = os.path.dirname(filename)
if not os.path.exists(filepath):
os.mkdir(filepath)
f=open(filename,'w')
old=sys.stdout sys.stdout=f
#cmdstr="d:\\curl\curl -x 10.0.0.54:3128 http://192.168.6.199/source/BT.mp4 -o null "
cmdstr="d:\\curl\curl -s -w %{time_total} http://www.baidu.com -o null "
#print "--time_total --size_download --speed_download\n",cmdstr
p = subprocess.Popen(cmdstr,stdout = f, stderr = f, shell = False)
start = time.time()
while : if (p.poll()==):
p.terminate()
sys.stdout=old
end=time.time()
total_time=end-start
#print "total time: ",total_time
break #print "end>>>>>>>>>>>>>>>>>>>>"
with open(filename,'r') as reader:
data=reader.read() print data
f_data=string.atof(data)
i_data=int(f_data)
if i_data==:
i_data+= s_time=-i_data
if(s_time>):
print "sleep time:",s_time
time.sleep(s_time) test()
python --curl重定向到文件范例的更多相关文章
- Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和输入流 捕获sys.exit()调用 optparse argparse
Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和 ...
- Python学习笔记015——文件file的常规操作之四(输入重定向)
windows命令提示符(cmd.exe)和Linux Shell(bash等)均可通过">"或”>>“将输出重定向.其中, ">"表示 ...
- python输出重定向
0表示标准输入1表示标准输出2表示标准错误输出> 默认为标准输出重定向,与 1> 相同2>&1 意思是把 标准错误输出 重定向到 标准输出.&>file 意思是 ...
- Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块
Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块 目录 Pycharm使用技巧( ...
- Python标准输出重定向
目录 Python标准输出重定向 声明 一. 背景知识 二. 重定向方式 2.1 控制台重定向 2.2 print >>重定向 2.3 sys.stdout重定向 2.4 上下文管理器(C ...
- PHP如何通过CURL上传文件
PHP使用CURL上传文件只需发送一个POST请求就可以了,在请求中设置某个字段为需要上传的文件全路径,并且以“@”开头,然后使用CURL把该变量以POST方式发送到服务器,在服务端即可以从超级全局变 ...
- python批量处理excel文件数据
https://www.zhihu.com/question/39299070?sort=created 作者:水中柳影链接:https://www.zhihu.com/question/392990 ...
- [python]自动化将markdown文件转成html文件
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- Linux下执行的java命令重定向到文件中的方法
在Linux下通常会执行如:java -version 的命令, 但是,命令只是打印到了屏幕上不能重定向到文件中或标准输出流中. 此时需要将错误输出流重定向到标准输出流中就可以得到了. 比如:java ...
随机推荐
- Linux/drivers/usb/serial/ftdi_sio.c
Linux/drivers/usb/serial/ftdi_sio.h /* 2 * Driver definitions for the FTDI USB Single Port Serial Co ...
- Fixed DC-DC Regulator Output Uses A Digitally Controlled Potentiometer
http://electronicdesign.com/print/passives/fixed-dc-dc-regulator-output-uses-digitally-controlled-po ...
- 安装VS组件提示“所选驱动不再有效。继续安装之前,请先检查安装路径的设置。”要怎么办?
电脑里面原来装了VS2010,包括的组件有VB和C++,现在想添加C#,结果安装的时候就提示“所选驱动不再有效.继续安装之前,请先检查安装路径的设置”,安装路径在C盘,还有40个G,不知道该怎么办? ...
- ExtJS4.2:自定义主题 入门
背景 用过 ExtJs 的朋友都有一种趋势:审美疲劳,好在 Ext4.1 之后的版本提供了快速自定义主题的功能,本文的内容主要来自:http://docs.sencha.com/extjs/4.2.2 ...
- 图像处理标准图像lena的故事图The Lenna Story behind image processing
The Lenna Story - www.lenna.org Imaging Experts Meet Lenna in Person Yes, it's true! Lenna attende ...
- JMS基本概念之二
JMS规范 JMS定义了Java中访问消息中间件的接口,并没有给予实现,实现JMS接口的消息中间件称为JMS Provider,例如ActiveMQ JMS provider: 实现JMS接口和规范 ...
- calibre怎么转换文件格式
首先打开calibre软件,需要转换的书目不在列表的按照上一个教程将文件导入书籍列表. 选中需要转化格式的书籍之后右击,会跳出一个比较长的菜单栏,找到转换书籍选项,此处有两个选项,一个是逐个转换,另外 ...
- Centos 7 配置 VNCServer 經驗
安裝 Centos 7後, 習慣性的安裝 Xmanager 3或4, 都不能正常工作, 無奈之下開始安裝 VNCServer. (個人習慣使用Xmanager, 因為不需要安裝,只要配置一下就能用, ...
- drawable和values的加载规则
Google搞了一大套hdpi.xhdpi之类的这些东西,简单说来,就是为了让我们轻松实现"与设备密度无关的视觉大小一致性",注意这里的"视觉大小一致性",就是 ...
- [C#.NET] 使用 X509 數位電子簽章 加解密
摘自: http://www.dotblogs.com.tw/yc421206/archive/2012/06/30/73150.aspx 上篇提到了使用X509的的憑證使用方式,請參考 [C#.NE ...