Python 打印函数中的语法错误

Python 打印函数中的语法错误,python,xml,csv,syntax,Python,Xml,Csv,Syntax,我从一个将csv转换成xml的脚本中得到了这个结果 语法错误无效语法 print(text, file=self.file, end=self.args.linebreak) 该点位于第一个“=”下。我不知道这是为什么。有人能指出正确的方向吗 谢谢 阿隆佐 类编写器: 定义初始化(self、ofile、args): self.file=ofile self.args=args self.newline\u subst=字段\u subst\u工厂(args.newline\u elem) 如果

我从一个将csv转换成xml的脚本中得到了这个结果

语法错误无效语法

print(text, file=self.file, end=self.args.linebreak)
该点位于第一个“=”下。我不知道这是为什么。有人能指出正确的方向吗

谢谢 阿隆佐

类编写器:
定义初始化(self、ofile、args):
self.file=ofile
self.args=args
self.newline\u subst=字段\u subst\u工厂(args.newline\u elem)
如果args.header:
self.fieldname=self.\u字段名\u标题
elif args.flat_字段:
self.fieldname=self.\u fieldname\u平面
其他:
self.fieldname=self.\u字段名\u索引
def写入_文件(自身、数据):
如果self.args.declaration:
声明=(“”)。
格式(args.oEncode))
自我书写(声明)
self.write(“.”格式(self.args.root\u elem))
对于数据中的记录:
自写记录(记录)
self.write(“.”格式(self.args.root\u elem))
def写入记录(自我,记录):
self.write(“{0}”)。
格式(self.args.indent、self.args.record_elem))
对于索引,枚举(记录)中的字段:
self.write_字段(字段,索引)
self.write(“{0}”)。
格式(self.args.indent、self.args.record_elem))
def write_字段(自身、字段、索引):
写(“{0}{0}{2}”。
格式(self.args.indent、self.fieldname(索引),
self.newline_subst(字段)))
def写入(自身、文本):
**打印(text,file=self.file,end=self.args.linebreak)**这是导致问题的行
def__字段名_标题(自身,索引):
返回self.args.header[索引]
def _u字段名u平面(自,索引):
返回self.args.field\u元素
def__字段名_索引(自,索引):
返回self.args.field\u elem+str(索引)

如果您使用的是Python2.x,那么您需要在代码顶部添加以下行

from __future__ import print_function

如果您使用的是Python2.x,那么您需要在代码的顶部添加以下行

from __future__ import print_function

您使用的是哪个版本的Python?我使用的是Python版本3,这行代码对我来说很好。这可能是由于代码中的某些内容导致的,因此发布更多的代码会有所帮助。整个源文件在Python 3.3.1中编译得很好,但在Python 2.7.4中由于您提到的错误而失败。你确定用3.x版运行它吗?文件顶部是否有类似于
#的shebang行/usr/bin/env python
导致它在2.x版中运行?您使用的是哪个版本的python?我使用的是python版本3,这行代码对我来说很好。这可能是由于代码中的某些内容导致的,因此发布更多的代码会有所帮助。整个源文件在Python 3.3.1中编译得很好,但在Python 2.7.4中由于您提到的错误而失败。你确定用3.x版运行它吗?文件顶部是否有类似于
#的shebang行/usr/bin/env python
导致它在2.x版中运行?谢谢,但我使用的是版本3Stephen,也许我错了,但据我所知,胡萝卜指向第一个“=”意味着“=”前面的字符是问题所在。或者我误解了phtyon文档?self.write(“{0}{0}{2}”).format(self.args.indent,self.fieldname(index,self.newline_subst(field)))def write(self,text):print(text,file=self.file,end=self.args.linebreak)Soory,但我尝试加载我的代码,网站对格式进行了条纹处理,结果只是显示为一个文本块,我们走了,我想我现在明白了,谢谢,但我使用的是版本3Stephen,也许我错了,但据我理解,胡萝卜指向第一个“=”意味着“=”前面的字符是问题所在。或者我误解了phtyon文档?self.write(“{0}{0}{2}”).format(self.args.indent,self.fieldname(index,self.newline_subst(field)))def write(self,text):print(text,file=self.file,end=self.args.linebreak)Soory,但我尝试加载我的代码,网站将格式条带化,然后以文本块的形式出现,我想我现在明白了