主要内容

在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

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

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

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

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

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

包装{1}
ans = Python str,没有属性。MathWorks相信工程师和科学家的重要性。

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

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

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

自定义段落

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

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

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

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

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

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

了解更多

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