如果我只使用python标准库编写python脚本,只要安装了python 2.6,使用Python 2.6它是否适用于所有操作系统?
答案 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模块的可移植性,毫无疑问。
它们是便携式的。
但是,有些模块仅在特定平台上可用,如果您使用它们,那么您的可移植性将会受到限制。