用批处理文件bat 运行的py文件, 无法使用 os.system语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用批处理文件bat 运行的py文件, 无法使用 os.system语句相关的知识,希望对你有一定的参考价值。
正常情况下,做好py文件之后,使用bat批量启动py文件,都可以的。
但是在某个py文件A中,使用os.system()函数调用另外的py文件A1,,然后bat启动A文件之后,就会报错,这是怎么回事呢?
=====1. bat文件代码:
@echo off
cd E:\
python "E:\aaa.py" & PAUSE
=====2. aaa.py文件代码:
os.system('aaa1.py')
import aaa1
os.system()表示调用cmd执行系统命令,而aaa1.py并不是可执行的命令或程序,应该调用python来执行,os.system('python aaa1.py')追问
受教了。。
如果我要先cd到某目录下,再执行aaa1.py的话,两个命令应该如何在os.system()中依次执行呢?应该怎么写?
使用os.chdir()先行改变工作目录,或者使用os.system('cd xx & python xxx.py')将两个命令连起来执行。
参考技术A 报错是什么?找不到文件?为什么前一个命令你用了全路径,后面又只写文件名?追问
错误内容如下:
aaa1.py 不是内部或外部命令,也不是可运行的程序 或 批处理文件
py文件中我添加了系统路径,,直接运行aaa.py文件是没有问题的。但是用bat运行aaa.py就出问题。
os.system('python aaa1.py')至于为什么手动双击可以,但cmd不可以,可以看看是不是同一个用户?有没有涉及管理员身份等
win10家庭版,双击bat文件无法运行(double click bat file does not execute)
win10家庭版,双击bat文件无法运行,弹出文件打开方式选择框。
在网上搜索处理办法,试了以下方法1-5都没有成功,用方法6规避。
方法1:
打开一个驱动器,点“工具-文件夹选项→文件类型→新建→扩展名”里输入BAT,点高级,在关联的类型里选择“MS-DOS批处理文件”,再确定
--因为我用的是win10家庭版,没找到对应位置。
方法2:
用管理员打开命令行,在命令行中分别输入下面两条命令:
assoc .bat=batfile
ftype batfile="%1" %*
方法3:
在用户变量下方点击“新建”,输入用户名%path%,以及变量值C:/windows/system32,点击确定;
方法4:
在注册表左侧依次展开:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.BAT ;
然后将下面除了“OpenWithList”和“OpenWithProgids”之外的所有子项删除即可。
另外尝试从可以运行的电脑中的注册表,导出.bat部分,在问题电脑运行下。
方法5:
(1)首先按组合键win+r打开运行窗口,输入gpedit.msc并回车;
(2)在组策略左侧依次展开用户配置→管理模板→所有设置;
(3)在右侧往下移动,找到并双击打开【阻止访问命令提示符】;
(4)在“设置”界面下,就能看到这一项的启动状态可以把“已启用”改为“未配置”,然后按“应用”与“确定”,就可以完全解除。
--因为我用的是win10家庭版,不支持组策略。
方法6:
将bat文件后缀改为cmd,可以运行了。
以上是关于用批处理文件bat 运行的py文件, 无法使用 os.system语句的主要内容,如果未能解决你的问题,请参考以下文章
win10家庭版,双击bat文件无法运行(double click bat file does not execute)