主要内容

在MATLAB中调用Python函数来包装段落文本

这个例子展示了如何在MATLAB®中使用Python®语言函数和模块。该示例调用来自Python标准库的文本格式模块。

MATLAB支金宝app持Python的参考实现,通常称为CPython。如果您使用的是Mac或Linux平台,那么您已经安装了Python。如果您使用的是Windows,则需要安装一个发行版,例如在https://www.python.org/download,如果你还没有这样做。有关更多信息,请参见安装支持的Pyt金宝apphon实现

使用Pythontextwrap模块

MATLAB有很多等效的Python标准库,但不是全部。例如,textwrap是一个模块,用于格式化带有回车和其他方便的文本块。MATLAB还提供了textwrap函数,但它只包装文本以适合于UI控件。

创建一段文字来玩。

T =我们MathWorks相信工程师和科学家的重要性。它们增加了人类的知识,极大地改善了我们的生活水平。”

转换Python字符串到MATLAB字符串

调用textwrap.wrap函数通过键入字符来实现py。在函数名的前面。没有类型进口textwrap

包= py.textwrap.wrap (T);谁包装
名称大小字节类属性包装1x3 8 py.list

包装是一个Python列表,它是一个Python字符串列表。MATLAB将这种类型表示为py.list

转换py.list到由Python字符串组成的单元格数组。

包=细胞(包装);谁包装
名称大小字节类属性包装1x3 336单元格

虽然包装是一个MATLAB单元数组,每个单元元素是一个Python字符串。

包装{1}
ans =不带属性的Python str。我们MathWorks相信工程师和科学家的重要性。

将Python字符串转换为MATLAB字符串使用字符函数。

= cellfun(@char, Wrapped,“UniformOutput”、假);包装{1}
我们MathWorks相信工程师和科学家的重要性。

每个单元格元素都是一个MATLAB字符串。

自定义段落

使用关键字参数自定义段落的输出。

前面的代码使用包装方便函数,但该模块使用py.textwap.TextWrapper功能。要使用期权,请调用py.textwap.TextWrapper关键字参数描述在https://docs.python.org/2/library/textwrap.html#textwrap.TextWrapper

使用MATLAB创建关键字参数pyargs函数使用逗号分隔的名称/值对列表。宽度将文本格式化为30个字符宽。的initial_indentsubsequent_indent关键字以注释字符开始每行,,使用MATLAB。

tw = py.textwrap.TextWrapper (pyargs (...“initial_indent”,“%”,...“subsequent_indent”,“%”,...“宽度”int32 (30)));包=包装(tw, T);

转换为MATLAB参数并显示结果。

= cellfun(@char, cell(Wrapped),“UniformOutput”、假);流(“% s \ n”, {:})
我们MathWorks相信工程师和科学家的重要性。它们增加了人类的知识,极大地改善了我们的生活水平。

了解更多

只要记住Python是MATLAB用户的另一个潜在库源就足够了。如果您想了解如何在MATLAB和Python之间移动数据,包括元组和字典等Python数据类型,请参见从MATLAB调用Python