如何让Jupyter Notebook中print()输出与直接输出格式一致?
解决办法
在Jupyter Notebook里,直接写变量名输出和用print()输出格式不一样,本质是两者的显示机制不同:直接输出变量时,Jupyter调用的是IPython专属的格式化逻辑(效果近似repr()函数的返回值),而print()默认输出的是对象的字符串表示(str()的返回值)。
要让print()的输出和直接写变量的格式一致,有两种简单可行的办法:
方法一:用repr()函数包裹变量
把print(sample_files)改成print(repr(sample_files)),这样输出的就是变量的“repr表示”,和直接输出变量的格式几乎一致。修改后的代码如下:
sample_files = ["fooooooooooooooooooooo1","fooooooooooooooooooooo1","fooooooooooooooooooooo1","fooooooooooooooooooooo1","fooooooooooooooooooooo1","fooooooooooooooooooooo1","fooooooooooooooooooooo1"] print_stuff = True if print_stuff: print(repr(sample_files)) sample_files
方法二:用IPython的display()函数
这是更贴合Jupyter环境的方式,直接调用IPython的显示函数,和直接输出变量用的是同一套逻辑,格式完全一致。需要先导入display,再替换print:
from IPython.display import display sample_files = ["fooooooooooooooooooooo1","fooooooooooooooooooooo1","fooooooooooooooooooooo1","fooooooooooooooooooooo1","fooooooooooooooooooooo1","fooooooooooooooooooooo1","fooooooooooooooooooooo1"] print_stuff = True if print_stuff: display(sample_files) sample_files
内容的提问来源于stack exchange,提问作者Vityata
相关产品推荐
相关产品推荐

