2017-06-23 66 views
0

我需要实现一个SRLS(学生记录日志记录系统)。我将使用两种语言,批处理(CMD)和Python。但是,我需要在没有Python解释器的情况下从Batch中执行python脚本(NOT CODE)(来自批处理控制台的变量)。有没有办法直接从批处理启动/执行python脚本?使用批处理执行Python

+4

的可能的复制[如何调用Python代码shell脚本?](https://stackoverflow.com/问题/ 3777301/how-to-call-a-shell-script-from-python-code) –

+2

[用bash调用Python脚本的参数]的可能重复(https://stackoverflow.com/questions/14155669/call- python-script-from-bash-with-argument) –

+0

我认为你可能会对术语感到困惑。批处理用于脚本文件,该文件包含要运行的命令列表。 Bash等同于CMD。您可以从 –

回答

0

是的,你可以注册.py扩展名的文件与python.exe

这是从内存中执行,我在Linux下的那一刻,但是这看起来像:

选择任一文件的.py - >移右键 - >打开方式 - >浏览 - >路径Python.exe - >始终使用该

编辑:

有没有办法让直由被执行的Python语言代码CMD.exe

CMD.exe使用自己的语法,它需要代码转换才能工作。 AFAIK我不知道从Python到CMD脚本的转换器......它们的目的太不一样了。

如果代码想要代码在任何地方执行,代码转换并不是人们做的事情:它们“编译”(实际上是更捆绑)代码,以便解释器和代码都是单个exe的一部分。

E.g.看:http://www.pyinstaller.org/

+0

这不是OP所要求的,他想从bash运行诸如'python myscript.py arg1 arg2'的命令,并将它们作为参数传递给程序 –

+0

@ArturoAndressi谢谢,但是我想让python脚本运行没有口译员。我知道这听起来很愚蠢,但有没有办法解决它? –

+0

我会编辑我的答案,以便我希望我能得到我的代表回复:-D – Fabien

0

看看这里运行一个批处理文件,在Windows中运行Python文件:https://gist.github.com/zhuzhuor/7271159

@ECHO off 

set "script_path=%~dp0" 
set "script_path=%script_path%my_script.py" 

python %script_path% %* 

如果你想在Linux上运行的文件:

$运行shell_script.sh

你可以写一个shell脚本

#!/usr/bin/python -- sets the environment of python to run the code. 

# write the python code here 
0

所有的python代码都是由python解释器执行的,但我想我明白你的意思。

首先,您需要安装python并确保设置了环境变量中的PATH变量。

下一页去,你必须用cd命令

要执行的Python代码让你在命令提示符下Python代码的目录中,只需键入“巨蟒[你的Python文件名]”;从任何目录类型执行“python [你的python文件的路径]” 例如:python hello_world.py或python C:\ tmp \ hello_world.py;当你执行的命令,它会调用Python解释器,并通过脚本/你的代码给它,解释然后执行它(简而言之)

也做看看How do I run a python program in the Command Prompt in Windows 7?

+0

如何将它转换为.exe?它会有帮助吗?如果是的话,我需要一种方法来转换它没有太多的文件。 –

+0

将你的python代码转换成exe文件你的意思是?你为什么想这样做? –

+0

我不知道。我想起了这个想法。 –

0

在windows添加python.exe对“家”的环境变量路径,不是去哪里UR .py文件是,打开一个命令行,输入“蟒蛇“ur_filename”py”为 OR, 用bat文件:

C: \ python27 \ python.exe c:\“path_to_ur_file”。PY%*

而且如果Linux系统上UR, 这一点已经在这里找到答案 https://askubuntu.com/q/244378