问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python如何调用window的exe文件并传参,最后获得exe执行的结果

发布网友 发布时间:2022-04-27 13:32

我来回答

2个回答

懂视网 时间:2022-04-27 17:53

最近客户要求把一个树型目录导出成文件夹套文件夹的结构,并提供下载功能,刚开始感觉功能比较容易实现就在最短的时间把基本功能搞定,当发布到服务器上之后发现直接在本应用程序中导出目录(下带ntko文档及附件)再进行压缩,程序直接卡死了!后来就想到了要做一window服务,只是客户给的时间太短,没办法先写一控制台程序生成一个exe文件,然后再调用这个exe文件,这样就可以缓解本程序压力了!

下面写一个测试项目

在调用exe端传过去一个要压缩的文件夹的路径,然后在控制台下获取该路径进行压缩,压缩完成之后返回压缩过后的文件夹路径或者返回一个成功与否的状态

1、返回路径
代码如下:
string path = @"E:测试项目\201303TestWindowsServicecainDebugca.exe";
            string fileName = path;

            Process p = new Process();

            p.StartInfo.UseShellExecute = false;

            p.StartInfo.RedirectStandardOutput = true;

            p.StartInfo.FileName = fileName;

            p.StartInfo.CreateNoWindow = true;

            p.StartInfo.Arguments = @"D:zhaiaaa安置帮教";//参数以空格分隔,如果某个参数为空,可以传入””

            p.Start();

            p.WaitForExit();
           //此处可以返回一个字符串,此例是返回压缩成功之后的一个文件路径
            string output = p.StandardOutput.ReadToEnd();
            this.TextBox1.Text = output;

控制台下代码:
代码如下:
static void Main(string[] args)
        {
           //接收传过来的待压缩文件路径
            string url = "";
           //返回压缩过后的文件路径
            string retUrl = "";

            if (!string.IsNullOrEmpty(args[0]))
            {
                url = args[0];
            }
            //此处引用了一个压缩文件的dll  using Ionic.Zip;
            using (ZipFile zf = new ZipFile(System.Text.Encoding.Default))
            {
                zf.AddDirectory(url);
                zf.Save(@"D:zhaiaaa"+DateTime.Now.ToString("yyyyMMddHHmmss")+".zip");
                retUrl = @"D:zhaiaaa"+DateTime.Now.ToString("yyyyMMddHHmmss")+".zip";
            }          
            Console.Write(retUrl);
        }

2、返回一个状态
代码如下:
//Process myProcess = new Process();

            //string fileName = path;
            //string para = "你好 北纬30度!";
            //ProcessStartInfo myProcessStartInfo = new ProcessStartInfo(fileName, para);
            //myProcess.StartInfo = myProcessStartInfo;

            //myProcess.Start();

            //while (!myProcess.HasExited)
            //{

            //    myProcess.WaitForExit();

            //}
            //int returnValue = myProcess.ExitCode;

控制台下

代码如下:
static int Main(string[] args)
        {
          int i=0;
          if (!string.IsNullOrEmpty(args[0]))
            {
                url = args[0];
            }
           if(url)
           {
             i=1;
            }
           return i;
        }

热心网友 时间:2022-04-27 15:01

 param='c:\\'
 r=os.popen("dir "+param)
 data=r.readlines()
 r.close()
 print ''.join(data)

python如何调用window的exe文件并传参,最后获得exe执行的结果

import os output=os.popen('dir').read()

python如何调用window的exe文件并传参,最后获得exe执行的结果

param='c:\\' r=os.popen("dir "+param) data=r.readlines() r.close() print ''.join(data)

python中3种调用可执行文件.exe的方法

方法一、os.system() 会保存可执行程序中的打印值和主函数的返回值,且会将执行过程中要打印的内容打印出来。import os main = "project1.exe"r_v = os.system(main)print (r_v )方法二、commands.getstatusoutput() 会保存可执行程序中的打印值和主函数的返回值,但不会将执行过程中要打印的...

请教python调用dll动态库的传参问题

import ctypes#win api shellexecuteapiA and msgboxA def execute(path): handler = None operator = "open" fpath = path param = None dirpath = None ncmd = 1 shell32 = ctypes.windll.LoadLibrary("shell32.dll") shell32.ShellExecuteA(handler,operator,fpath,pa...

批处理中运行python程序 并传入n个参数,怎么写。

sys.argv[0] for i in range(1, len(sys.argv)): print "arg%d"%i,sys.argv[i]注意调用的时候必须使用 python 脚本名.py arg1 arg2因为win下面的命令解释器认为.py不是可执行文件,直接调用文件的时候,不会传入参数,如下面的代码则不会传入参数:脚本名.py arg1 arg2 ...

python调用函数时,传入参数的顺序和函数定义时的顺序可以不同

可以不同,比如:def function(one, two, three):print("结果:",one, two, three)function(three = 3,one = 1,two = 2)

PHP如何调用py的脚本

= shell_exec('python /path/to/script.py');传递参数给Python脚本,包括在脚本路径后:output = shell_exec('python /path/to/script.py arg1 arg2');注意,python命令在您的系统上可能会有所不同,取决于Python的安装方式。如果Python的可执行文件不在环境变量中,可能需要改用或指定完整路径。

python函数传参是传值还是传引用

在python中实际又是怎么样的呢?先看一个简单的例子:from ctypes import *import os.path import sysdef test(c): print "test before " print id(c) c+=2 print "test after +" print id(c) return cdef printIt(t): for i in range(len(t)): print t[...

python中的参数传递有多少种(2023年最新分享)

强制关键字参数(Keyword-OnlyArguments)是python3引入的特性,可参考:。使用一个星号隔开:在位置参数一节介绍过星号前面的参数可以是位置参数和关键字参数。星号后面的参数都是强制关键字参数,必须以指定参数名的方式传参,如果强制关键字参数没有设置默认参数,调用函数时必须传参。执行结果:也可以在...

调用下列python的主函数,并获取到入参变化的值?

_name__ == '__main__'这个条件了,所以你找错地方了。不通过python文件调用它,就满足这个条件。--- 一般情况下,我们都是在这个判断后做测试:直接运行dbpoll.py将执行文档中的测试 而使用这个文件里的功能,则是常规的引入:import后实例化相应的类:...

python调用exe传递参数 python执行exe文件 用Python打开exe文件 window怎么运行python python调用本地exe python调用外部exe程序 python文件转exe python生成exe文件 python能封装成exe文件
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...新南站到郑州市东明路和纬五路交叉口的肿瘤医院,最少转乘,大概多长... 合肥济民肿瘤医院到合肥汽车南站怎么坐公交车? 合肥凤凰肿瘤医院下高铁后怎么走打的大概要多少钱 什么是爱情,我又迷糊了!哎…… 三个月宝宝拉绿便便怎么回事 GB/T276-1994 圆柱滚子轴承 6311-2rs/z1 这个型号各字母所代表的意思... 6208轴承最高限速多少 为什么我在电脑上下载的photoshop软件都是花钱的,要不打不开。怎么才 ... 6204轴承是什么类型的轴承? 爱情天梯是真的吗 我想学怎样做出好看 好喝的咖啡 在北京有教的地方吗 学费最好不要太贵 咖啡怎样冲才好看?拥有饱满的奶泡的那种 VBA 调用exe文件及传递参数的问题 季是什么生肖 黑色半身裙配什么上衣 黑色半身长裙怎么搭配 ,批处理文件调用一个exe文件,需要传递参数。 比如:exe的路径是c:\1.exe,同时需要传入六个参数。怎么写 燕野珍鲜炖即食燕窝在市场上的表现如何? 亲身体验过遇燕即食燕窝,你觉得效果如何? 有没有人吃过燕大夫即食燕窝,怎么样啊? 请教一下正则表达式,单单验证表单长度的正则表达式应该怎么打? js正则表达式只能执行一次成功的form表单验证,动态添加的form表单怎么验证 php表单验证用户名是否重复 ,并且还要正则表达式用户名是否合法,这两个同时要满足,该怎么做? 验证表单正则表达式 谁能帮我写个验证13数字和14位数字! C#如何给生成的exe文件传值 速度求味多美面包种类大全 味多美的法棒、是什么? 想学味多美之类的面包做学徒 味多美肉松面包碳水含量 味多美面包,原料一样成分也一样,为什么做出来的东西差别挺大?做过面包的讲讲谢谢 C#.net 读取.exe文件 谁有英语小短文?一分钟左右~ 仿真海藻树为什么受人们的喜爱? 如何在.Net平台上实现用代码判断返回值类型? 请问下面这种植物(干活)中文名叫什么,google上叫sea moss或sea foam。个人估计可能是海藻的一种。 海枣树的简介是怎样的? 这是中东海藻吗? 我想在VS2010中用C#代码调用一个用C++编写的exe程序。并向这个exe程序传递两个参数。 梦到绿油油的西瓜地里摘瓜 3ds的触摸屏可以换电容屏吗? 帮忙求解啊?有一台旧的NDSL,已经有一台3DS.今天我把NDSL拆机了,然后再装上,上屏幕出现白线,不是那... vb.net做的winform程序调用外部的exe,请问外部的exe如何获取到传送的值 套利策略的套利策略应用 套利策略的套利策略风险 套利策略的套利策略简介 详解套利策略 我是想用C#调用.exe控制台程序,输入参数,比如程序里边是用scanf的那样。该怎么输入参数! 网曝贵州一村民葬后遗体被抢,此事背后的真相到底是什么? 风葬的各地习俗 怎样用PHOTOSHOP排双色的版面 贵州省殡葬改革对哪些少数民族可以不实行