主要内容

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

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

MATLAB支万博1manbetx持Python的参考实现,通常称为CPython。如果您使用的是Mac或Linux平台,则已经安装了Python。如果您使用的是Windows,则需要安装一个发行版,例如在https://www.python.org/download/.有关更多信息,请参见安装支持的Pyt万博1manbetxhon实现

使用Pythontextwrap模块

MATLAB有很多等价的Python标准库,但不是一切。例如,textwrap是一个模块,用于格式化具有回车符和其他便利的文本块。MATLAB还提供了textwrap函数,但它包装文本以适应UI控件。

创建一段文字来玩。

T =“MathWorks相信工程师和科学家的重要性。它们增加了人类的知识,深刻地提高了我们的生活水平。”

转换Python字符串到MATLAB字符串

调用textwrap.wrap通过输入字符来实现功能py。在函数名前面。不要打字进口textwrap

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

W是一个Python列表,MATLAB显示为类型py.list.每个元素都是一个Python字符串。

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

转换py.list到一个字符串数组。

wrapped =字符串(W);谁包装
名称大小字节类属性包装1x3 514字符串
包装{1}
ans =“我们MathWorks相信工程师和科学家的重要性。”

自定义段落

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

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

使用宽度关键字将文本格式化为30个字符宽。的initial_indent而且subsequent_indent关键字每行以注释字符开始MATLAB使用。

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

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

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

了解更多

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