不同操作系统上的Python程序

时间:2010-10-07 04:10:18

标签: python

如果我只使用python标准库编写python脚本,只要安装了python 2.6,使用Python 2.6它是否适用于所有操作系统?

3 个答案:

答案 0 :(得分:9)

取决于。 Python标准库的一些部分仅在某些平台上可用。这些部分在Python文档中有说明。

您还需要注意如何处理文件路径之类的事情 - 使用os.path.join()等来确保路径的格式正确。

答案 1 :(得分:7)

阅读二进制文件时需要小心。始终使用'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)并使其清晰或完全呈现。

某些Linux发行版上没有自动安装某些Python模块......您需要一个单独的“dev”软件包。

不完全是操作系统问题,但某些操作系统在bigendian框上运行,因此如果您正在编写/读取二进制格式,则需要考虑字节序。

答案 2 :(得分:0)

是的,除非您使用的是依赖于操作系统的模块。

  

编辑:我的回答似乎很短   并不是基于的观点   评论

我不是在解决便携式编程问题。

这意味着要处理二进制数据打包和操作,c扩展问题,windows / unix中的路径,windows文本中的“\ r \ n”等等。

但是关于python模块的可移植性,毫无疑问。

它们是便携式的。

但是,有些模块仅在特定平台上可用,如果您使用它们,那么您的可移植性将会受到限制。