如果我只使用python标准库编写python脚本,只要安装python 2.6,使用Python 2.6就可以在所有操作系统上运行?不同操作系统上的Python程序
回答
取决于。 Python标准库有几个部分仅在某些平台上可用。这些部分在Python文档中注明。
您还需要小心如何处理文件路径等事情 - 使用os.path.join()
等以确保路径格式正确。
是的,除非你使用的是依赖os的模块。
编辑:我的回答似乎短 并没有太多的点基于 评论
我不是解决一般的便携式编程。
这将意味着照顾二进制数据的打包和操作,c扩展问题,windows/unix中的路径,windows文本中的“\ r \ n”等等。
但是关于python模块的可移植性,没有任何问题。
它们是便携式的。
但是,有些模块只能在特定平台上使用,如果您使用它们,那么可移植性将会降低。
-1:这不就是说,除了那些不会的东西外,一切都会奏效吗? – 2010-10-07 06:41:21
@Lasse V. Karlsen:不是。我可能会做一个简短的回复。但这意味着与上面Amber提供的答案完全相同。如果你在脚本中使用的话,有一些操作系统依赖模块,它不会在其他操作系统上移植。这些操作系统特定的可用模块都有详细记录 – pyfunc 2010-10-07 06:55:36
在我的答案中尝试“幻数26”示例 - 它仅使用内置函数。 – 2010-10-07 07:04:22
阅读二进制文件时需要小心。始终使用'rb','wb'等文件打开模式。你可以在Unix/Linux /等上使用'r'等,但它对Windows很重要。不直观的是,CSV文件是二进制文件。
指导锻炼:锻炼身体为什么这个代码在Windows上产生26来代替,这将产生在非Windows中的128:
>>> s = ''.join(map(chr,range(128)))
>>> len(s)
128
>>> f = open('junk.txt', 'w')
>>> f.write(s)
>>> f.close()
>>> len(open('junk.txt').read())
26
避免硬编码文件路径。
不要以为你可以在控制台上打印unicode(或utf8编码的unicode),并使其可读或完全呈现。
某些Python模块不会自动安装在某些Linux发行版中......您需要单独的“dev”软件包。
不完全是操作系统问题,但某些操作系统在bigendian机器上运行,所以如果您正在编写/读取二进制格式的任何工作,则需要考虑排序。
提示(练习):尝试手动遍历输入,并查看ASCII表。 – 2010-10-08 03:54:15
- 1. Python和不同的操作系统
- 2. 不同操作系统上的JavaFx应用程序字体
- 3. 单程序操作系统
- 4. Qt Jambi应用程序和不同的操作系统
- 5. 在不同的操作系统中测试程序
- 6. 网页在不同的操作系统上看起来不同?
- 7. 基于不同操作系统上的.glade文件的GTK + 3应用程序
- 8. VirtualEnv在不同的操作系统
- 9. WPF - 在不同操作系统上的相同风格的contexmenu
- 10. 不同的机器和操作系统的应用程序行为不同
- 11. 从x64位操作系统上的“任何CPU”构建应用程序反映x86程序集操作系统
- 12. Python CPU和操作系统
- 13. Python操作系统模块
- 14. Adobe AIR和不同的操作系统文件系统
- 15. 实时操作系统调度程序
- 16. 通过操作系统执行程序
- 17. 操作系统加载程序
- 18. Android操作系统和应用程序
- 19. WPF应用程序和操作系统
- 20. 移动操作系统与桌面操作系统有什么不同
- 21. 在不同的操作系统上的树枝编译异常
- 22. 相同的源代码,但不同操作系统上的结果不同
- 23. 如何为不同的操作系统制作移动应用程序
- 24. Python virtualenv日期不同于操作系统
- 25. 在不同版本的操作系统上测试iPhone软件
- 26. 在不同操作系统上的R帮助文件
- 27. PyQT5在操作系统和Linux上的不同视图
- 28. JVM在不同操作系统上的性能差异
- 29. 如何在python程序中处理操作系统信号?
- 30. 同步Eclipse工作区,不同的操作系统,如何?
Upvoted提及路径。 – kindall 2010-10-07 04:21:04