笺注:数据的读写除了可以通过文件,还可以在内存中进行。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循环语句
文件操作(创建、读取、写入、追加) |