如何将cmd.exe参数发送到Python脚本?
我需要在cmd.exe中启动以下命令:如何将cmd.exe参数发送到Python脚本?,python,windows,python-2.7,cmd,Python,Windows,Python 2.7,Cmd,我需要在cmd.exe中启动以下命令: %comspec%/c“cd/d:\Python27\Scripts\&python test.py”nombreaaççççtestyïu XJ00080183.avi” …并在我的Python脚本中使用参数: nameficheroData= sys.argv[1] print type(nameficheroData) fichero = open(nameficheroData, 'w' ) fichero.write('namefichero
%comspec%/c“cd/d:\Python27\Scripts\&python test.py”nombreaaççççtestyïu XJ00080183.avi”
…并在我的Python脚本中使用参数:
nameficheroData= sys.argv[1]
print type(nameficheroData)
fichero = open(nameficheroData, 'w' )
fichero.write('nameficheroData.\n')
fichero.close()
并将文本:nombreaa+á+á+ºtesty+»XJ00080183.avi
写入文件
在命令提示中:
chcp
活动电话:850
在我的Python 2.7系统中:
>>> import sys
>>> print(sys.getdefaultencoding())
ascii
正确的方法是什么
nombreaaààççtestyï_XJ00080183.avi
nombreaa+á+á+º+ºtesty+»_XJ00080183.avi
它不尊重同一个名字。你的代码做了什么?问题是什么?nombreaaáçtestyïu XJ00080183.avi它不相等:nombreaa+A+A+º++ºtesty»XJ00080183.avi查看
sys.argv
。对于更复杂的代码,请尝试使用argparse
moduley将参数从cmd.exe传递到Python,再传递到文件系统。你能看到值是否在变化吗?我的活动代码页与你的相同,850
。但是,当我在我的Windows 7系统上以您问题中所示的方式运行您的代码时,它确实会生成一个名为nombreaaáçtestyïu XJ00080183.avi
的文件,其中包含正确的内容,因此我无法重现问题。您使用的是什么操作系统和Python版本?