返回列表 发帖

StringIO()函数

笺注:数据的读写除了可以通过文件,还可以在内存中进行。Python的io模块提供了对数据进行读写操作的StringIO()函数。



######

例子一:

#coding=utf-8
from io import StringIO

String_1 = StringIO()

Key_1 = 'Welcome to zhuohua.'
String_1.write(Key_1)

String_2 = String_1.getvalue()
print(String_2)


脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
Welcome to zhuohua.

C:\Users\jacky\Desktop>



######

例子二:

#coding=utf-8
from io import StringIO

String_1 = StringIO()

Key_1 = 'Welcome to zhuohua.\n'
String_1.write(Key_1)

Key_2 = 'Welcome to Mary.'
String_1.write(Key_2) # write()的本质就是追加

String_2 = String_1.getvalue()
print(String_2)


脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
Welcome to zhuohua.
Welcome to Mary.

C:\Users\jacky\Desktop>



######

例子三:

#coding=utf-8
from io import StringIO

Key_1 = 'Welcome to zhuohua.'
Key_2 = 'Welcome to Mary.'
Key_3 = 'Welcome to Python.'

String_1 = f"{Key_1}\n{Key_2}\n{Key_3}"
String_2 = StringIO(String_1)

while True:
        Result_1 = String_2.readline()
        if Result_1 == '':
                break
        print(Result_1.strip())
       

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
Welcome to zhuohua.
Welcome to Mary.
Welcome to Python.

C:\Users\jacky\Desktop>



######

例子四:

#coding=utf-8

from io import StringIO
String_1 = StringIO()

list_1=['小明','大海','zhuohua']
list_2=[1001,1002,1003,1004]

Num_1 = len(list_1)
print(Num_1)

Num_2 = range(Num_1)
print(Num_2)

print("-" * 10)

for Key_1 in Num_2:
        Result_1 = f"{list_1[Key_1]}的学号是:{list_2[Key_1]}\n"
        String_1.write(Result_1) #把输出结果追加到StringIO()
       
Result_2 = String_1.getvalue()
print(Result_2)

Result_3 = Result_2.strip() #去除左边和右边的空格、换行符


#把最终的输出结果写入(覆盖)到文件D:\1.txt;文件不存在时,会自动创建
Path_1 = r'D:/1.txt'
f_name = open(Path_1,'w')
print(Result_3,file=f_name)


脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
3
range(0, 3)
----------
小明的学号是:1001
大海的学号是:1002
zhuohua的学号是:1003


C:\Users\jacky\Desktop>


在CMD命令程序中输出文件内容:
C:\Users\jacky\Desktop>type d:\1.txt
小明的学号是:1001
大海的学号是:1002
zhuohua的学号是:1003

C:\Users\jacky\Desktop>





相关文章:
CentOS8安装Django+Nginx反向代理
网络爬虫_爬(blog.zhuohua.store)

for循环语句
文件操作(创建、读取、写入、追加)

返回列表