python拓展应用:运行do文件及其衍生内容
#-*-coding:utf8-*-
import os
import subprocess
import shutil
import psutil
import time #查找指定文件名称和查找范围的文件路径
def search(name, path):
name = name.lower()
for root,dirs,files in os.walk(path):
for file in files+dirs:
if name in file.lower():
return os.path.join(root,file)
return -1 #修改do文件内容
def do(in_file):
w = ''
for line in open('sort.do','r').readlines():
if 'foreach' in line:
ceil = line.split(" ")
ceil[len(ceil)-1] = '"'+in_file+'"{\n'
w = ""
for i in ceil:
w = w + i + ' '
else:
w += line with open('sort.do','wb') as writer:
writer.write(w) #运行指定的其他类型的程序,如do文件
def run_do(do_file,in_file): do(in_file) # 查找windows所有盘符名称
information = os.popen("wmic LOGICALDISK get name").read().split("\r\n")
code = []
for inform in information:
if ':' in inform:
code.append(inform.strip())
print code # 遍历所有盘符,直到找到StataMP-64.exe文件
for path in code:
stata_path = search('StataMP-64.exe', path + '\\')
if stata_path != -1:
break
print stata_path if os.path.exists(''):
pass
print '已存在'
else:
do_file = os.path.abspath(do_file + '.do')
cmd = [stata_path,'do',do_file]
child = subprocess.Popen(cmd)
#找出本机逻辑核个数
cpu_count = psutil.cpu_count()
while True:
time.sleep(5)
# 传入进程PID,实现监控功能
cpu_percent = psutil.Process(child.pid).cpu_percent(interval=2)
percent = cpu_percent/cpu_count
print cpu_count,cpu_percent,percent
if percent == 0:
child.kill()
print 'Success'
break if __name__ == '__main__': run_do('sort')
python拓展应用:运行do文件及其衍生内容的更多相关文章
- 编写python程序和运行.py文件的方法步骤
前提:已安装好 Subliume Test 3 且已经添加好python编译系统,已安装好python3.7 一.新建一个文本文档,将后缀名改为.py 二.使用 Subliume Test 3 打开该 ...
- Python 3基础教程14-在文件尾部更新内容
本文介绍在一个已经存在的文件尾部添加内容,还是用到write方法. 这里exampleFile.txt是前面文件创建的文件,里面有两行文字.
- python命令行运行py文件找不到模块的解决办法
问题: 新建了一个项目,目录结构如下: 然后在pycharm中运行glovar是没有问题的,但是在命令行中运行就会提示找不到init模块 这是因为在pycharm中运行的时候,pycharm会自动将项 ...
- 利用python第三方库提取PDF文件的表格内容
小爬最近接到一个棘手任务:需要提取手机话费电子发票PDF文件中的数据.接到这个任务的第一时间,小爬决定搜集各个地区各个时间段的电子发票文件,看看其中的差异点.粗略统计下来,PDF文件的表格框架是统一的 ...
- 吴裕雄--天生自然python学习笔记:打开文件并显示文件内容
Win32com 组件打开文件通过 Documents 的 Open 方法,语法为 : 例如,打开上一节创建的 testl . docx 文件 , 文件变量名为 doc: 获得文件内容的方法有两种,第 ...
- 吴裕雄--天生自然python学习笔记:python 用pyInstaller模块打包文件
要想在没有安装 Python 集成环境的电脑上运行开发的 Python 程序,必须把 Python 文件打包成 .exe 格式的可执行 文件. Python 的打包工作 PyInstaller 提供了 ...
- python编译、运行、反编译pyc文件
为了加密 .py 文件,以前一般使用打包成 exe ,但是最近发现可以将其编译成二进制文件 pyc ,虽然反编译难度不大,但是也需要一些水平 编译生成 pyc: 单个文件 代码: import py_ ...
- python -m 命令单独运行一个文件,怎么解决单独运行文件报错?
依旧是续上篇解决为什么项目能运行,单独文件不能运行. 依旧是python3先发下目录结构,依旧是cmd运行,不要弄pycharm开始运行,否则有些错误就发现不了! 项目下面有pac1文件夹,pac1下 ...
- python 导入模块的坑。为什么整个项目能运行,单独运行某个文件模块就报错?多层目录不同文件夹怎么导入?
一些文章介绍了python不同目录怎么导入问题,但py文件运行起点却从来没有文章说过!这是相当重要的!! 这个连接是网上99%的所讲的导入 https://www.cnblogs.com/luoye0 ...
随机推荐
- centos7和centos6区别
CentOS 7 vs CentOS 6的不同 (1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell) (2)文件系统[CentOS6 ...
- Python初学者第八天 元组和字典
8day 1.数据类型:元组 元组:有序的,不可变地数据的集合.但若包含其他可变元素,这些元素可变.显示的告诉别人,此处不可修改: a = (1,2,3,4,5,['1','a']) 2.数据类型:字 ...
- 修改容器的hosts文件
修改容器的hosts文件 1.介绍 docker容器中的hosts文件虽然在宿主机磁盘上/var/lib/docker/containers/xxx/hosts中,但是修改该文件是无效的,需要通过其他 ...
- Linux命令 标签: linux 2016-08-01 10:26 508人阅读 评论(0) 收藏
Linux常用命令 文件.目录的基本操作 ls - 查看文件 cp - 拷贝文件 mv - 移动或重命名文件 rm - 删除文件 touch - 创建空文件或更新文件时间 cd - 改变当前路径 pw ...
- DedeCms织梦后台管理员密码修改和忘记重置方法
方法/步骤 打开dede_admin数据表: 进入你的MYSQL后台,然后在你的数据库名中,找到dede_admin这项如图,pwd下的值就是你的密码,织梦密码采取的是MD5加密,破解麻烦而且没有必要 ...
- Linux:配置HTTPS,获取ssl证书
这里小仓鼠将Https配置流程记录下来 1.访问网站:https://www.aliyun.com/ss/?k=ssl 2.选择‘立即购买’ 3. 页面变换为: 4.点击‘立即购买’ 5.进行支付 6 ...
- ZT 俞敏洪:2014我要闭嘴 相信未来不是梦
俞敏洪:2014我要闭嘴 相信未来不是梦 手机免费访问www.cnfol.com2013年12月11日 08:38 中国企业家网 查看评论 字体:小 中 大中金在线微博微信加关注 扫描二维码 关注 ...
- MapReduce过程详解(基于hadoop2.x架构)
本文基于hadoop2.x架构详细描述了mapreduce的执行过程,包括partition,combiner,shuffle等组件以及yarn平台与mapreduce编程模型的关系. mapredu ...
- hdu-1695 GCD---容斥定理
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1695 题目大意: 求解区间[1, n]和[1, m]中有多少对不同的x和y使得gcd(x, y) = ...
- 日期时间JS插件
首先要引入基本文件:bootstrap的基本js和css文件,因为用到了jquery所以要引入jquery文件 <script src="jquery-1.11.2.min.js&qu ...