[英]Reading and printing from a plain text file Python 3
我有一个纯文本文件,我正在尝试使用该文本文件重新创建打印的“书面打印”功能。
该文本文件当前具有:
"""
Test1
Test1
Test1
""",
"""
Test2
Test2
Test2
""",
"""
Test3
Test4
Test5
"""
我的目标是将其读入3个字符串的列表中,让随机模块选择其中一个字符串,并最终完全按书写的方式打印它,但不带“”“或。,如果需要,我可以从文件中删除这些字符是的,我只是在猜测如何获取打印以完全打印所写内容:
print("""
Test1
Test1
Test1
""")
(输出)
Test1
Test1
Test1
任何帮助将非常感激。 谢谢!
编辑:我尝试过:
import random
file = open('prebaked', 'r')
print(random.choice(file))
和
import random
with open('prebaked', 'r') as f:
file = f.read()
print(random.choice(file))
和
import random
with open('prebaked', 'r') as f:
file = list(f.read())
print(random.choice(file))
逻辑:
','
将字符串分成列表,并从字符串中删除空格和"""
。 码:
import random
with open('mytextfile.txt', 'r') as file_obj:
str_list = [s.strip('\r\n\t "') for s in file_obj.read().split(',')]
print random.choice(str_list)
您的文件包含的内容几乎就是字符串列表的Python语法,只是缺少[
和]
。 如果添加这些,则可以使用ast.literal_eval
安全地评估Python语法并为您提供字符串列表:
>>> from ast import literal_eval
>>> with open('myfile.txt', 'r') as f:
file_contents = f.read()
>>> literal_eval('[' + file_contents + ']')
['\nTest1\n\nTest1\n\nTest1\n', '\nTest2\n\nTest2\n\nTest2\n', '\nTest3\n\nTest4\n\nTest5\n']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.