从.BAT文件运行Python脚本,将.BAT文件名作为输入

时间:2012-04-12 05:08:53

标签: python windows file batch-file

我有一个Python脚本(test1.py)我需要使用bat文件(render.bat)运行。

问题1:

首先,我在test1.py中有一个定义,它总是无法运行,没有任何反应。有人可以解释为什么吗?

import os
def test01 :
   os.system('explorer')

并在bat文件中:

python c:/test01.py

但是一旦我删除它就行了。我只是想知道为什么会这样。

问题2:

如何将render.bat中的“render”字符串作为我的python脚本的字符串输入,这样我就可以运行类似的东西:

import os
def test1(input) :
   os.system("explorer " + input) 

所以“输入”取自.BAT文件名?

3 个答案:

答案 0 :(得分:0)

  1. 除非您调用它们,否则函数实际上不会执行任何操作。尝试将test01()放在脚本的末尾。

  2. %0会为您提供所调用批处理文件的完整名称,包括.bat。在Python中剥离它可能比在批处理文件中更容易。

答案 1 :(得分:0)

问题1: python中的关键字def定义了一个函数。但是,要使用一个函数,你必须明确地调用它,即

import os
def test01(): # do not forget ()
   os.system('explorer')

test01() # call the function

答案 2 :(得分:0)

1)你必须实际call完成任务的功能。

2)%0指的是正在运行的脚本。因此,创建一个test.bat file喜欢

@ echo off
echo %0

输出= test.bat

您可以从输出中删除.bat扩展名。