python中的带有换行符的字符串在juypter中直接输入、print与写入文件的区别
发布日期:2021-05-06 21:43:58 浏览次数:21 分类:精选文章

本文共 909 字,大约阅读时间需要 3 分钟。

为什么会有这么个问题呢?

因为我在jupternotebook中输入带有换行符的字符串\n,但最终结果并没有体现换行的效果,这个出乎我意料,于是就有了这个记录。

实验结果:

第一种:jupternotebook:

s = "www.baidu.\n.com\n"

s

输出:

'www.baidu.\n.com\n'

这种方式输出是直接返回字符串的原始内容,即内存中的原始样貌(这个判断是错误的,请看第五种情况 )。

第二种:直接print

print("www.baidu.\n.com\n")

输出:

www.baidu.

.com

print是反映了最终效果的

第三种:open file写入

with open("/home/test/testxxxxxx.txt", "w") as fw:

    fw.write(s)

输出:

www.baidu.

.com

结果等同于print效果。

第四种:在python的交互环境中:

Python 2.7.5 (default, Apr  9 2019, 14:30:50) 

[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s = "www.baidu.\n.com\n"
>>> s
'www.baidu.\n.com\n'
第五种:

s = "\.\."

s

输出:

'\\.\\.'

第六种:

with open("/home/test/20200521222.txt", "r") as fr:    d = fr.read()print(d)dOutput:12'1\n2'

即jupyter并不是直接输出内存中内容,即定义中内容是需要经过转换处理才能到内存中。所以并不造价。

结论:如果要看字符串的原始内容,直接在jupternote book中直接输出;所以流程:定义的字符串原始内容-->内存中的字符串-->display的字符串(print或者写入). 

 

 

上一篇:邮件header中的subject或者from解码
下一篇:Gmail用人工智能技术判定垃圾邮件

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月05日 08时11分32秒