换行适用于windows但不适用于linux

时间:2017-01-28 18:16:38

标签: python cross-platform

with open('call.txt', newline='') as inputfile:
    phoneNumbers = list(csv.reader(inputfile))

这段代码可以在windows下运行但linux / BSD我收到错误

异常“未处理的TypeError” 'newline'是此函数的无效关键字参数

如何将其重写为跨平台?

4 个答案:

答案 0 :(得分:2)

问题不是Windows vs. Linux / BSD,而是Python 3与Python 2。

{3}中的newline参数已添加到Python 3中,并且在Python 2中不存在。您应该选择一个并在脚本中定位一致的Python版本。

答案 1 :(得分:2)

听起来你正在使用两个不同版本的Python,2.x和3.x.不幸的是,你必须打开csv文件的方式因所使用的文件而异 - 在Python 3中,你需要指定newline='',但不能在Python 2中指定它不是{}的有效关键字参数{1}}。

这是我用来打开两个版本的csv文件:

open()

答案 2 :(得分:0)

你可能在linux上运行了旧版本的python。

答案 3 :(得分:0)

谢谢大家都是对的。我有两个版本的python 2和3,系统默认为2.删除python2解决了问题。