导航:首页 > 编程语言 > python中执行bat文件

python中执行bat文件

发布时间:2022-12-26 09:14:30

A. python使用subprocess.Popen运行bat脚本时报不支持输入重新定向错误分析

大图请右击在新标签页打开

Popen默认shell参数为False:

为True时默认使用 COMSPEC 环境变量指定的程序为shell:

在Windows上默认为cmd:

args参数为命令字符串时,因为dir是cmd的内建命令,需要指定shell=True:
例如:

而timeout,ping等都是独立的exe,可以不需要cmd:

args参数是文件路径形式时:

底层是调用了Windows的API,如下:

调试:

测试:

从调试结果以及测试来看,对于bat文件,可以不写lpApplicationName参数,Windows会自动使用cmd来运行(使用vbs文件测试返回错误:不是正确的win32程序,要指定lpApplicationName为cscript.exe才行,可能只有bat才有这个特权了)。

输入重定向的问题:
Popen是用创建子进程的方式来执行的,而timeout.exe在暂停时,可接受用户按键来终止,这个时候会需要输入,但是Popen给子进程的stdin只有

并不能让timeout重定向到用户输入上,所以出错。

解决的方法有很多,最简单的替换掉timeout语句为ping -w xxx 127.0.0.1 或者直接由python来接管timeout。

B. python运行bat文件

Python调用外部程序
os.system()和subprocess.call()

C. python怎么执行bat文件并传递参数给bat文件

使用os模块的system方法可以执行命令,例如执行D盘的cmd.bat批处理脚本并传入参数p1:

importos

os.system(r'D:cmd.batp1')

D. 如何将python命令全部放在bat中执行

bat和python混合编写方法,以下代码保存为xx.bat,编码存为无bom头的utf-8编码
#encoding: utf-8
#Python 3.6.0
'''
@echo off&cls
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set num=3
python "%~f0" "%num%"
echo;%#% +%$%%$%/%@% %z%
pause&exit
'''
import sys
import pandas as pd
print(int(sys.argv[1]) * 10);
print('xx' * 3)

E. 如何用python运行bat文件

我没有测试它的窗口盒。
这是我在Mac操作系统上的尝试
Dinh-Phams-MacBook-Pro:tmp dinhpham$ cat > t.bat
print "abc"
Dinh-Phams-MacBook-Pro:tmp dinhpham$
Dinh-Phams-MacBook-Pro:tmp dinhpham$ python t.bat
abc

Python解释器不关心.py扩展
如果要将.bat文件加载为Python模块,只需使用
imp.load_source(path_to_file)

F. 关于在python中使用os.system运行批处理.bat文件

第一个执行后并没有结果,因为随着执行返回,当前目录就改变了。
第二个可以切换当前目录。
第三个跟第二个配合使用应该可以。或者用 os.path.join(DstDir,'test.bat') 来直接引用绝对路径

G. python里面怎么执行bat文件

从执行结果看,其实已经执行了。
先执行一些简单的命令,比如dir之类的看看。

H. python执行bat乱码怎么办

python执行bat乱码的解决办法如下
bat文件右键用“ 编辑” 打开,
另存为时,UTF-8保存为ANSI 格式。即可解决运行是乱码问题。
更多技术请关注Python视频教程。

I. python自动运行cmd,bat文件

python编码启动cmd批处理文件(.bat文件),用subprocess方法可以将相应的cmd输出获取到,代码如下:#import os#os.system

("c:\sam.bat")import subprocesscmd = 'cmd.exe c:\sam.bat'p = subprocess.

Popen("cmd.exe /c" + "c:\sam.bat abc", stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

curline = p.stdout.readline()while(curline != b''): print(curline)urline = p.stdout.readline()

p.wait()print(p.returncode)sam.bat批处理文件代码:echo Hello world!echo show %1%

(9)python中执行bat文件扩展阅读

在批处理.bat文件用通过这样的语句调用explorer.exe C:xxx也可以使用用python的os库可以实现代码如下:import osos.system(r"explorer.exe C:\xxx")

即打开c盘的xxx文件夹,针对你的情况可以将这里改成你对应的路径os.system(r"explorer.exe \10.9.40.22新建文件夹") 就行了。

J. python调用完bat后,程序进入等待状态了

使用python的子进程模块来执行.bat文件。
不需要使用低级线程原语的多线程程序,如互斥,读写锁,等待条件或信号。
用QtConcurrent编写的程序会根据可用处理器内核的数量自动调整使用的线程数。

阅读全文

与python中执行bat文件相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163