我是Python和PyDev的初学者。我最近在PyDev制作了“helloworld”节目。我的问题是:我如何执行它或在交互式Python模式下打开它(在Linux终端中)我尝试了很多命令,如./hello.py
,import hello.py
,python 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
。
答案 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运行代码,您将需要像我上面那样做。