在Python交互式控制台中执行PyDev项目?

时间:2011-11-07 21:30:18

标签: python console pydev interactive

我是Python和PyDev的初学者。我最近在PyDev制作了“helloworld”节目。我的问题是:我如何执行它或在交互式Python模式下打开它(在Linux终端中)我尝试了很多命令,如./hello.pyimport hello.pypython hello.py,但唯一的事情我得到的是SyntaxError: invalid syntax,或其他一些错误。

我还有另一个问题。我有Linux,我在终端(sudo eclipse)中打开了Eclipse。

在PyDev中,我首先去了

File => New => Python Project => HelloWorld (name of project) =>
right click the project => New => PyDev Module => hello (module name).

假设我在终端(运行Python)中放置的名称是模块的名称,不是吗?无论哪种方式,我也尝试了项目的名称,没有。只是要知道。

而且,我什么时候使用chmod +x?每次我在PyDev中写它,我在左边得到一个X,这意味着它是不正确的。这样的事情:X chmod +x

3 个答案:

答案 0 :(得分:0)

要配置PyDev,请务必阅读其入门手册:http://pydev.org/manual_101_root.html

现在,您可能遇到语法错误,因为您使用的是Python 3,其中print不再是关键字,而是一个函数(因此,您必须使用print()作为函数调用),还有请记住,raw_input()在Python 3上被重命名为input()。

答案 1 :(得分:0)

要回答您要导入交互模式的第一个问题,请使用import filename但不要包含.py

C:\Users\CodeThis\Documents\py\search>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import aStar
>>> aStar.search((0,0),(5,9))
[(0, 0), (9, 0), (8, 0), (7, 0), (6, 0), (6, 9), (5, 9)]
>>>

无论如何

答案 2 :(得分:0)

我现在明白你在想什么。如果你想从shell中执行文件中的某些东西,最简单的方法就是将它封装在一个Class中。

尝试将代码更改为以下内容:

#!/usr/bin/python

class Hello:
    def __init__(self):
        print "Hello, Interactive Shell World!"
        raw_input()

这使得一个名为Hello的类,其中构造函数运行您当前文件中的代码。然后,启动在与hello.py文件相同的目录中启动的交互式shell。以下是示例会话中的粘贴:

>>> from hello import Hello
>>> Hello()
Hello, Interactive Shell World!

<hello.Hello instance at 0xb782686c>
>>> 

它打印消息,等待输入,然后打印新创建的对象的字符串表示并返回到提示。如果要避免上次打印输出,只需将对象分配给变量,如:

>>> h = Hello()

如果你想保持从命令行(而不是shell)执行文件的能力,请将此代码添加到文件的底部:

if __name__ == '__main__':
    Hello()

你从终端做“chmod + x”。在hello.py的目录中,运行:

chmod + x hello.py

这使您能够运行文件,如./hello.py而不是“python hello.py”。现在我想起来了,听起来你可能会混淆一个unix shell的python交互式shell。您可以使用unix shell中的“python hello.py”轻松运行文件,但是要从python交互式shell运行代码,您将需要像我上面那样做。

相关问题