-1

新编辑。我在 Windows 7 中使用 Python2.7.5。我是命令行参数的新手。我正在尝试做这个练习:

编写一个程序,在命令行上读入一个字符串,并返回字符串中出现的字母表以及每个字母出现的次数。例如:

 $ python letter_counts.py "ThiS is String with Upper and lower case Letters."
 a  2
 c  1
 d  1
 # etc.

我有一些基本问题:如何将字符串添加到命令行?

我去了控制面板并更改了路径(添加 ;C:\Python27)

现在我在 cmd.exe

这得到了正确的答案

 >>>python
 Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
 Type "copyright", "credits" or "license()" for more information.

然而,这些得到 SyntaxError: invalid syntax:

 python letter_counts.py
 C:\Python27\python.exe
 C:\Python27\pythonw.exe  
 C:\Python27\python.exe .\letter_counts.py 

有什么建议么?谢谢你!

4

2 回答 2

0

修改路径后,是否启动了命令提示符的新实例(这在过去曾让我很伤心)?要检查您的路径更改是否成功:

echo %PATH%

并检查是否附加了 C:\Python2.7.5 。

如果没有,则运行:

set PATH=%PATH%;C:\Python2.7.5

使用命令行参数调用 python 脚本(假设您的脚本在当前工作目录中):

python letter_counts.py "Your Text Goes Here"

或者,如果您只想过于冗长(或者您的 PATH 仍然不正确):

C:\Python2.7.5\python.exe .\letter_counts.py "Your text still goes here"

编辑:确保您是从命令提示符而不是python 解释器执行此操作。要访问命令提示符,您可以点击:

1. Windows Key + R
2. type "cmd" (without quotes) and hit enter
于 2013-07-03T16:11:04.077 回答
0

回答您关于“将字符串添加到命令行”的问题。

import sys
print sys.argv

将为您提供您传入的命令行参数。在您的情况下,看起来您想要第一个参数,因此您可以执行以下操作:

print sys.argv[1]

请注意, sys.argv[0] 将为您提供传递给 python 的文件名,因此在这种情况下您实际上想要 [1] 。

我不使用 Windows,但如果你想要一个简单的设置 python 环境,你可以查看 ActivePython。最坏的情况或作为临时解决方案,您可以转到 python.exe 所在的文件夹并在那里运行您的脚本。

于 2013-07-03T16:14:50.170 回答