Python代码是否跨平台?

4

假设我们有一段使用 Python 2.7.1 在 Linux 系统上编写和测试的代码。它仅使用默认的 Python 库,例如 os、itertools、tkinter、csv 和 collections。

如果我们将这段代码放到 Windows 系统上的 Python 2.7.1 中,它能正常工作吗?


1
你可以在Linux上很好地为Windows开发; 只需保持文件处理跨平台(在不处理文本时使用二进制模式,使用os.path来操作文件名而不是手动连接等)。 - Martijn Pieters
然而,这个问题太过宽泛,无法在此回答;如果您在Windows上遇到特定的Python问题,最好询问相关问题。 - Martijn Pieters
我还没有遇到任何问题,但我想知道其他人的经验。 - Halox
抱歉,那不是符合 Stack Overflow 网站模型的问题格式。 - Martijn Pieters
我认为现在它符合网站格式了。感谢您的警告。 - Halox
1
不,这仍然太宽泛了。您必须向我们展示具体的代码;我可以轻松地编写使用Python默认库的平台相关代码。讨论所有可能的方法太过宽泛。 - Martijn Pieters
1个回答

4

Python字节码本身不依赖于特定平台,只要有完整的Python虚拟机实现。

但是,有些特定的模块和函数只适用于某些平台,因此如果Python源代码使用了这些模块和函数,则会依赖于特定平台。文档说明了哪些名称仅适用于受限平台,因此避免使用这些名称将大大提高其跨平台性。


3
即使只使用跨平台的函数,也可能存在其他差异会导致 Python 应用程序出现故障,例如文件名中字符限制不同、文件锁定行为不同等。请注意,这些差异可能会破坏应用程序。 - Harry Johnston

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接