使用来自单独文件的自定义代码时遇到问题
Trouble using custom code from a separate file
我正准备开始一份工作(在 C#.NET 中),如果有一些 Python 经验则更好。一两年前我读了一些关于它的书,然后拿起另一本书(Python 3 Object Oriented Programming by Dusty Phillips)。我在第一个代码示例中,遇到了一个非常愚蠢的问题。
我在一个单独的文件 first_class.py 中创建了我的第一个 class。保存在我的C:\Docs\Continuing Education\Object Oriented Python\Chapter 2 folder:
class MyFirstClass:
pass
然后他说 "run the command python -i first_class.py
"。我打开了?Python 3.5 控制台? (如果这就是它的名字),然后把它放在那里。我不太期望它能正常工作,因为它是从与文件所在的文件夹不同的文件夹中执行的。
我尝试再次执行该命令,使用带引号和不带引号的文件的完全限定位置,但都没有用。看到周围的其他一些答案,我尝试了所有三个(没有文件夹,有引号和没有引号)但省略了 .py
扩展名,但这是行不通的。到目前为止,所有这些命令都给出了以下错误消息,错误指向单词 "first_class":
的结尾
SyntaxError: invalid syntax
我尝试省略命令的 python
部分,因为我已经在 Python 程序中,但这也不起作用。
接下来,我找到 this answer 并将 "current directory" 更改为上面列出的文件夹。使用和不使用 python
and/or .py
.
的处理方式相同
我也尝试使用 import
函数。这不会给出任何错误,所以我认为它有效。我继续书中的下一个命令:
>>>a = MyFirstClass()
不幸的是,出现了以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'MyFirstClass' is not defined
我确定我只是错过了一些非常简单的东西。如果这是重复的,一定要标记。
当文本显示 运行 python -i /path/to/file
时,它希望您从 shell 中 运行,而不是从 python 控制台中。
-i
标志是一种将文件或文件列表传递给 python 的方法,它将 运行 然后将您转储到交互式提示中。文件中的任何代码都将位于全局命名空间中,就像您将其键入交互式控制台一样。
打开命令shell(或电源shell)和运行:
python -i "C:\Docs\Continuing Education\Object Oriented Python\Chapter 2\first_class.py"
那么您应该可以调用您的 class
a = MyFirstClass()
我正准备开始一份工作(在 C#.NET 中),如果有一些 Python 经验则更好。一两年前我读了一些关于它的书,然后拿起另一本书(Python 3 Object Oriented Programming by Dusty Phillips)。我在第一个代码示例中,遇到了一个非常愚蠢的问题。
我在一个单独的文件 first_class.py 中创建了我的第一个 class。保存在我的C:\Docs\Continuing Education\Object Oriented Python\Chapter 2 folder:
class MyFirstClass:
pass
然后他说 "run the command python -i first_class.py
"。我打开了?Python 3.5 控制台? (如果这就是它的名字),然后把它放在那里。我不太期望它能正常工作,因为它是从与文件所在的文件夹不同的文件夹中执行的。
我尝试再次执行该命令,使用带引号和不带引号的文件的完全限定位置,但都没有用。看到周围的其他一些答案,我尝试了所有三个(没有文件夹,有引号和没有引号)但省略了 .py
扩展名,但这是行不通的。到目前为止,所有这些命令都给出了以下错误消息,错误指向单词 "first_class":
SyntaxError: invalid syntax
我尝试省略命令的 python
部分,因为我已经在 Python 程序中,但这也不起作用。
接下来,我找到 this answer 并将 "current directory" 更改为上面列出的文件夹。使用和不使用 python
and/or .py
.
我也尝试使用 import
函数。这不会给出任何错误,所以我认为它有效。我继续书中的下一个命令:
>>>a = MyFirstClass()
不幸的是,出现了以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>NameError: name 'MyFirstClass' is not defined
我确定我只是错过了一些非常简单的东西。如果这是重复的,一定要标记。
当文本显示 运行 python -i /path/to/file
时,它希望您从 shell 中 运行,而不是从 python 控制台中。
-i
标志是一种将文件或文件列表传递给 python 的方法,它将 运行 然后将您转储到交互式提示中。文件中的任何代码都将位于全局命名空间中,就像您将其键入交互式控制台一样。
打开命令shell(或电源shell)和运行:
python -i "C:\Docs\Continuing Education\Object Oriented Python\Chapter 2\first_class.py"
那么您应该可以调用您的 class
a = MyFirstClass()