我是python& amp;的新手想要运行简单的代码来创建&保存HelloWorld.docx 这是我的default.py
代码asd = os.path.join(os.path.abspath("./"), "lib")
jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asd)
hw = HelloWorld()
hw.main()
这是我的 init .py()
的代码class HelloWorld:
def __init__(self, dataDir):
self.dataDir = dataDir
def main(self):
"""
: The path to the documents directory. :
"""
Document = jpype.JClass("com.aspose.words.Document")
DocumentBuilder = jpype.JClass("com.aspose.words.DocumentBuilder")
doc = Document()
builder = DocumentBuilder(doc)
builder.writeln('Hello World!')
doc.save(self.dataDir +'HelloWorld.docx')
我收到此错误" TypeError: init ()正好接受2个参数(1个给定)"我不知道如何修复它,我在所有地方仔细检查,但没有任何证据有用
答案 0 :(得分:1)
你错过了变量dataDir:
hw = HelloWorld('path/to/your/dir')
答案 1 :(得分:0)
根据定义,您的类的 init Helloworld需要dataDir的值。
但是在实例化时你没有提供任何东西。
根据上面的答案,您可以检查此链接中有关缺失类的错误是否相同?
答案 2 :(得分:0)
当我们创建类的对象时,会调用__init__
函数。 __init__
函数接受两个参数,一个是类实例self
,另一个是dataDir
。
__init__
将初始化类或对象的实例。
__init__
函数称为构造函数或初始化函数,在您创建类的新实例时会自动调用。
__init__
method