在Windows上运行ActiveState Python程序
我刚开始学习Python,并在Python的图形界面Shell IDLE中写程序。我的代码如下:
>>> def buildConnectionString(params):
"""Build a connection string from a dictionary of parameters.
Returns string. """
return ";".join(["%s=%s" % (k,v) for k,v in params.items()])
if __name__ == "__main__":
myParams = {"server":"mpligrim",\
"database":"master",\
"uid":"sa",\
"pwd":"secret"
}
print(buildConnectionString(myParams))
我在运行这个程序时遇到了问题。在IDLE中,当我点击“运行模块”时,会弹出一个新窗口,显示“无效的语法”。这里是截图:

我找不到如何运行这个程序,希望能得到一些帮助,让我能继续进行下去。
2 个回答
1
看起来你把命令行窗口里的头部输出复制到了你的模块窗口里:你不想让你的文件看起来像这样:
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> print "Hello World"
你只想要这样的内容:
print "Hello World"
把那些多余的东西删掉就行了。
0
把 if __name__ == "__main__":
这一行向左移动四个空格;你在IDLE里的缩进和你复制粘贴过来的不一样,所以代码能正常运行:
def buildConnectionString(params):
"""Build a connection string from a dictionary of parameters.
Returns string. """
return ";".join(["%s=%s" % (k,v) for k,v in params.items()])
if __name__ == "__main__":
myParams = {"server":"mpligrim",\
"database":"master",\
"uid":"sa",\
"pwd":"secret" }
print(buildConnectionString(myParams))
在IDLE里打开一个新窗口,把这个代码保存为一个.py文件。然后按 F5
来执行,或者去菜单选择运行 -> 运行模块。