`

IronPython的第一块鳞片(补充)

阅读更多

        昨天,带着坚定的决心开始去摸索IronPython身上的每一块鳞片了,而在前一篇post当中有一个最经典的例子——HelloWorld。如果你有尝试着在>>>提示符下敲入所有代码的话,你会发现代码输入至第三行,然后再按回车之后,出现了Exception,以致于无法继续下去。事实上,这样的操作在Python上面是一切OK的,另外一方面,如果你将那几行简单的代码写入一个.py文件(譬如说hello.py),并且通过IronPythonConsole hello.py的方式运行,也是可以看到熟悉的"Hello,World"的。由此可以看出,IronPython在兼容Python方面做得并不是太好,不过她只是0.6版而已,我们完全有理由相信接下去的版本可以做得更好。
        以下是在调用方法上,两者运行结果的比较:
        1、直接在>>>提示符下键入所有代码:IronPython抛出System.Reflection.TargetException: Non-static field requires a target。而Python运行良好;
        2、将代码存为.py(如D:\hello.py),然后在控制台提示符下键入IronPythonCosole D:\hello.py或者python D:\hello.py:两者都运行良好;
        3、进入python或者IronPython的提示符>>>下,进行如下操作:
               >>>import sys
               >>>sys.path.append('D:\\')  
               >>>import hello
        两者都运行良好。通过这样import方式,hello.py的实质就是一个module,在Python下,hello.py会被编译,并且生成hello.pyc文件,而在IronPython下面,则不会有新的文件产生。还有一点需要说明的就是,第二个命令行的作用是将"D:\"加入到module的搜索路径中;同时如果这个命令行改为sys.path.append('D:')在Python下是可以的,但是在IronPython下,import hello会提示无法找到相应的module。
        4、至此,hello.py还不能算是一个完整的程序,因为它没有我们常见的main函数,于是将hello.py扩展为:      

class FantasySoft:
    def hello(self):
        print 
"Hello, world"

if __name__ == '__main__':
     t 
= FantasySoft()
     t.hello()

        在控制台提示符键入python D:\hello.py或者IronPythonCosole D:\hello.py:结果是IronPython抛出IronPython.Objects.PythonSyntaxError: unexpected token <eof> at D:\hello.py。在Python下运行良好。 
      
        PS:对上文红色部分做一些补充说明,准确的说是在.py文件所在的目录下面并没有新的文件生成,但是在bin目录下面,即IronPythonConsole所在的目录,则会有相应的.exe和..pdb文件生成。

分享到:
评论

相关推荐

    IronPython安装python第三方库的必须工具setuptools-py2.7.egg

    总之,setuptools-py2.7.egg是针对IronPython的特殊解决方案,它使得在.NET框架内管理Python第三方库成为可能。通过正确安装和使用setuptools,开发者可以在IronPython环境中充分利用Python生态系统的丰富资源,提升...

    IronPython-2.7.5.zip

    9. **库支持**:IronPython能够导入和使用许多Python第三方库,尽管可能需要一些适配工作,特别是那些依赖于C扩展的库。 10. **工具集成**:IronPython可以很好地与Visual Studio等.NET开发工具集成,提供调试、...

    IronPython-2.7.4(内附样例程序)

    IronPython-2.7.4 是一个开源的Python实现,它是专门为.NET Framework和 Mono 平台设计的。这个版本的IronPython兼容Python 2.7的语法和库,允许开发者在.NET环境中运行Python代码,同时也支持与.NET组件的无缝集成...

    在.Net6中调用IronPython实现动态执行脚本

    在.NET 6中调用IronPython来实现动态执行脚本是一项强大的功能,它允许程序员在运行时编写和执行Python代码,极大地增强了应用的灵活性。IronPython是一个开源的Python实现,它能够无缝集成到.NET环境中,使得.NET...

    Professional IronPython.pdf

    - **第1章:发现IronPython** 本章主要介绍IronPython的基本概念和发展历程,帮助读者了解IronPython与Python以及其他.NET语言之间的关系。 - **第2章:理解IronPython基础知识** 详细介绍IronPython的基本语法...

    ironpython.zip

    IronPython是一种基于.NET和Mono平台的Python实现,它是由Jim Hugunin开发的,而他也是Jython的创始人。这个项目的主要目标是提供一个与标准CPython解释器兼容的Python环境,同时利用.NET框架的强大功能。IronPython...

    IronPython in Action.pdf

    《IronPython in Action》是一本专门探讨IronPython技术的权威著作。IronPython是Python编程语言的一个实现,它允许开发者在.NET Framework和Mono平台上编写Python代码,并能无缝集成.NET类库。这本书深入浅出地介绍...

    微软IronPython源码

    1. **Python与.NET集成**:IronPython允许Python程序直接调用.NET Framework的类库,反之亦然,这使得.NET开发者可以利用Python的简洁语法和快速原型开发能力。 2. **JIT编译**:IronPython利用.NET的Just-In-Time ...

    IronPython in Action 无水印pdf版

    IronPython in Action 无水印pdf版。 IronPython in Action 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络 IronPython Action

    IronPython-2.7.7.msi 金蝶云 调试python脚本环境搭建。

    标题中的"IronPython-2.7.7.msi"指的是IronPython的一个版本,这是一个开源的Python实现,可以在.NET Framework上运行。它允许开发者使用Python语言编写应用程序,同时利用.NET平台的强大功能。金蝶云,另一方面,是...

    IronPython-1.1.1

    IronPython-1.1.1 是一个特定版本的IronPython实现,它是一个高效且功能强大的Python解释器,专为.NET Framework和Mono平台设计。由Jim Hugunin在微软的引领下开发,IronPython的独特之处在于它能够无缝地融入.NET...

    IronPython.zip

    1. 引入IronPython库:在C#项目中,你需要引用IronPython和IronPython.Modules这两个NuGet包,它们提供了运行Python代码所需的API。 2. 创建Python运行时环境(Runtime):使用`IronPython.Hosting.Python....

    IronPython in Action 2012.pdf

    - 第一个 IronPython 程序 - 基本语法与数据类型 3. **.NET 对象与 IronPython 的交互** - .NET Framework 简介 - IronPython 如何操作 .NET 对象 - 面向对象编程在 IronPython 中的应用 4. **核心开发技术** ...

    IronPython.7z

    - **IronPython 3.4.0a1**:这是一个测试版,对应Python 3.4的第一个alpha版本。Python 3.x引入了许多重大改变,包括语法更新和向后不兼容的改进。这个版本的IronPython让开发者可以尝试Python 3的新特性,但可能...

    IronPython-2.7.11.rar

    IronPython是Python编程语言的一个实现,它允许开发者在.NET平台上编写和运行Python代码。这个压缩包文件"IronPython-2.7.11.rar"包含了IronPython的版本2.7.11,这是一个针对.NET Framework的兼容性更新,旨在提供...

    IronPython和C#交互

    1. **IronPython简介**:IronPython是Python的一个实现,它完全兼容CPython的语法,并且能够无缝接入.NET Framework。这意味着使用IronPython编写的代码可以调用.NET库,反之亦然。 2. **C#简介**:C#是微软推出的...

    IronPython2.0最新版本以及IDE等源码

    【IronPython2.0最新版本】是Python编程语言的一个实现,它允许开发者在.NET Framework上运行Python代码。这个实现由Microsoft开发,旨在提供一个与标准CPython解释器兼容的环境,同时利用.NET平台的高性能和丰富的...

    Atom-ironpython-stubs,通用ironpython/.net库的自动完成存根.zip

    Atom-ironpython-stubs是一个专为IronPython和.NET框架开发者设计的工具,它提供了一套自动完成的存根(stubs)文件。这些存根文件主要用于增强开发环境的代码补全功能,帮助程序员在使用IronPython进行.NET库的交互...

    IronPython-2.7.7-win.zip

    IronPython是Python编程语言的一个实现,它允许开发者在.NET Framework和Mono平台上运行Python代码。这个压缩包"IronPython-2.7.7-win.zip"包含了IronPython的2.7.7版本,专为Windows操作系统设计。这个版本是在...

Global site tag (gtag.js) - Google Analytics