从Shell在Windows上运行Python

从Shell在Windows上运行Python,python,windows,shell,Python,Windows,Shell,因此,我有一些名为“some_class.py”的脚本与python.exe位于同一文件夹中: from __future__ import print_function class some_class: def say_it(self): print('hello') def main(): instance = some_class() instance.say_it() if __name__ == '__main__': main() 当

因此,我有一些名为“some_class.py”的脚本与python.exe位于同一文件夹中:

from __future__ import print_function

class some_class:
    def say_it(self):
    print('hello')

def main():
    instance = some_class()
    instance.say_it()

if __name__ == '__main__':
    main()
当我在PowerShell内的Python Shell中尝试使用以下命令运行它时:

some_class.py
我得到:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'some_class' is not defined
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
NameError:未定义名称“某些类”

Python的版本是3.4.1。我做错了什么?

通常情况下,您不会将python程序放在安装python的文件夹中——这不是应该的

此外,在查找python模块时,python不会查找python.exe目录,而是查找$PYTHONPATH(默认情况下,查找其库文件夹)和当前工作目录(即调用python.exe时所在的目录,而不是python.exe本身所在的目录)

如果您想使用文件中的内容,还必须导入文件,因此在交互式shell中,您可能需要这样做

import my_python_file

我认为您应该回到python.org,从头到尾阅读教程。它有一个很好的部分,介绍如何使用文件、实际是什么模块以及如何使用其他文件中的功能。

您通常不会将python程序放在您安装python的文件夹中——这不是应该的

此外,在查找python模块时,python不会查找python.exe目录,而是查找$PYTHONPATH(默认情况下,查找其库文件夹)和当前工作目录(即调用python.exe时所在的目录,而不是python.exe本身所在的目录)

如果您想使用文件中的内容,还必须导入文件,因此在交互式shell中,您可能需要这样做

import my_python_file

我认为你应该回到python.org,从头到尾阅读教程。它有一个很好的章节,介绍如何使用文件、模块以及如何使用其他文件的功能。

如果你想使用文件名运行它,那么不要从cmd提示符启动python34 some_class.pyode>如果uuuuu name uuuuu=='uuuuuuu main uuuuuuuu':将表示
main()
函数将在脚本执行时运行。如果导入脚本,它将不会运行,这就是在cmd提示符下使用
If{uu name{uuuu='{/code>

如果要使用文件名运行它,那么不要从cmd提示符启动python34 some{u class.py
。If{code>If{uu name{uuu=''u main}uuuu':ode>将意味着执行脚本时将运行
main()
函数。如果导入脚本,它将不会运行,这就是使用
的要点,如果uuuu name_uuuu=='\uuu main_uuu'

请尝试“python some\u class.py”。尝试“python some\u class.py”。我尝试从某个_class.py所在的文件夹中调用python.exe。然后我导入了我的文件,但在尝试实际使用该类时遇到了相同的错误。我也没有在python.org上找到任何关于模块理论的教程。按照@padraic cunningham的建议,从外壳外部启动该文件实际上有效。Python的导入系统使用的是
sys.path
,而不是
PYTHONPATH
。该可选环境变量只是扩展
sys.path
的众多方法中的一种。我曾尝试从某个_class.py所在的文件夹调用python.exe。然后我导入了文件,但在实际使用该类时,我会遇到相同的错误。我还在python.org上找不到任何关于模块理论的教程。按照@padraic cunningham的建议从外壳外部启动文件实际上是可行的。python的导入系统使用
sys.path
,而不是
PYTHONPATH
。该可选环境变量只是扩展
sys.path
的众多方法之一。