来自CMD的python3

来自CMD的python3,python,python-3.x,cmd,Python,Python 3.x,Cmd,我正在尝试从命令提示符运行此.PY文件: # Merge two .BSG files # Starting block and world position are taken from the first file # Example: "bsgmerge input.bsg output.bsg merged.bsg" import io, sys one = open(sys.argv[1]).readlines() two = open(sys.argv[2]).readlines

我正在尝试从命令提示符运行此.PY文件:

# Merge two .BSG files
# Starting block and world position are taken from the first file
# Example: "bsgmerge input.bsg output.bsg merged.bsg"

import io, sys

one = open(sys.argv[1]).readlines()
two = open(sys.argv[2]).readlines()

for n in [1,3,5,7,9,11,17,19,21,23]:
    one[n] = one[n][:-1]+"|"+two[n].partition("|")[2]

open(sys.argv[3],"w").write("".join(one))
它是一个程序,从游戏Beseige中获取一个创建,并将其与另一个保存的创建合并,以便打开合并的文件会导致两个创建都存在。如果你想要更多的细节,你可以仔细阅读

我不知道如何从命令行调用这个程序。起初,我认为问题在于我有Python2(它需要Python3),所以我卸载了Python2并安装了Python3。这没有帮助

我正在做的是输入“python”命令以在CMD中调出python环境,然后输入命令以根据文件中的第三条注释(“bsgmerge input.bsg output.bsg merged.bsg”)调用程序

在键入“python”命令并仅使用文件名之前,我尝试使用完整的文件路径或简单地更改到正确的目录,但到目前为止,我没有运气

当我在正确的目录中时,然后进入Python环境,键入命令“bsgmerge 1.bsg 2.bsg M.bsg”(我要合并的现有文件是1.bsg和2.bsg),出现以下错误:

File "<stdin>", line 1
  bsgmerge 1.bsg 2.bsg M.bsg
            ^

SyntaxError: invalid syntax
文件“”,第1行
bsgmerge 1.bsg 2.bsg M.bsg
^
SyntaxError:无效语法
去年秋天我参加了一门Python课程(这就是为什么我的机器上有Python 2),所以我注意到上面的代码中没有定义函数的“def”,这是我从未遇到过的,所以我认为这是我问题的根源


提前感谢您的帮助。

我可能对python launcher也有同样的问题

如果您使用Linux,第一行应该是:

#! /path/to/your/python/3
在Windows中,它可能更复杂:

在注册表中按regedit更改
HKEY\u CLASSES\u ROOT\Python.File\shell\open\command
的C:\Python27\Python.exe“%1”%*
的C:\Windows\py.exe“%1”%*

脚本的第一行应该是:

#! python3

现在它应该可以正常工作了。

python myscript.py
?@Mephy的答案会起作用,而更简单的答案可能是
/bsgmerge.py bsg 2.bsg
。为此,您只需要一个适用于*nix系统的@DavidGomes。AFAIK Windows不将文本文件作为可执行文件处理,标记“cmd”仅适用于Windows的shell。@Mephy为我工作!我的文件名为bsgmerge.py,命令“python bsgmerge.py 1.bsg 2.bsg M.bsg”工作得非常好。很抱歉,这是一个新手问题,但是我的Python类让我在使用JES(ugh)的时间太长了,以至于我几乎没有学会命令行的东西。为了获得最大的灵活性,请使用Python 3中包含的
venv