python调用CMD文件,如何打包成exe文件

python调用cmd命令用了两个模块:

1.python的OS模块。

  OS模块调用CMD命令有两种方式:os.popen(),os.system(). 都是用当前进程来调用。

  os.system是无法获取返回值的。当运行结束后接着往下面执行程序。用法如:OS.system
("ipconfig").

       os.chdir(目录名)用来变更命令行目录

       变量名=os.getcwd()获得当前目录

  OS.popen带返回值的,如何获取返回值。如

import os
aa="ping 192.168.0.107"
f = os.popen(aa, 'r')
aaa=f.readlines()
for line in aaa:  #按行遍历
    line = line.strip('\r\n')
    print(line)
上边代码可以执行
import os
aa="ping 192.168.0.107"
f = os.popen(aa, 'r')
#d=f.read()
#print(d)
上边代码也可以执行
#如果要是变更命令行执行目录如下:
import os
path="E:/功能测试/aa"
os.chdir(path)
aa="python aaa.py"
b=os.getcwd()
f = os.popen(aa, 'r')
print(b)
#d=f.read()
#print(d)
aaa=f.readlines()
for line in aaa:  #按行遍历
    line = line.strip('\r\n')
    print(line)

2.管道subprocess模块。

       用system.os()执行cmd命令有一点坑,cmd命令没有执行完,就直接跳到下一步了,百度了一下,大概是因为运行cmd命令时创建了另一个进程来执行,推荐使用subprocess模块。而system.os()一次性的程序。

      下列代码运行ping IP地址 -t
      能够完整在命令行处于等待状态。
 

import subprocess

cmd='ping 192.168.255.92 -t'
p=subprocess.Popen(cmd,shell=True)
return_code=p.wait()  #等待子进程结束,并返回状态码;

该模块的具体说明网址https://www.runoob.com/w3cnote/python3-subprocess.html
subprocess模块的的打开固定目录的命令行方法是,在Popen方法中的cwd参数

示例如下:

import subprocess

cmd='python aaa.py'
p=subprocess.Popen(cmd,shell=True,cwd="E:/功能测试/aa")
return_code=p.wait()  #等待子进程结束,并返回状态码;

打包使用pyinstaller -F xxx.py(xxx.py,打包的文件),先打包。https://www.cnblogs.com/mini-monkey/p/11195309.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值