Python在文本文件中保存长字符串
Posted
技术标签:
【中文标题】Python在文本文件中保存长字符串【英文标题】:Python Saving long string in text file 【发布时间】:2016-06-25 17:48:14 【问题描述】:我有一个长字符串,我想用代码保存在一个文本文件中:
taxtfile.write(a)
但是因为字符串太长,保存的文件打印为:
"something something ..... something something"
我如何确保它将保存整个字符串而不截断它?
【问题讨论】:
你试过用“”“”“”把它包装成多行吗? ***.com/questions/10660435/… 为什么你认为它会被截断?显示其余代码 这似乎只是您的 IDE/终端中的一个表示。写完后确认文件内容了吗? 【参考方案1】:我认为这只是您的 IDE 或终端环境中的一种表示形式。尝试以下操作,然后打开文件并亲自查看其是否完整:
x = 'abcd'*10000
with open('test.txt', 'w+') as fh:
fh.write(x)
请注意,以上内容会将文件写入您当前的工作目录。在调用 Python 之前,您可能需要先导航到 ~/Desktop。
另外,你是如何构建字符串a
的? textfile
是怎么写的?如果对textfile.write(a)
的调用发生在循环中,则循环中可能存在错误。 (显示更多代码会有所帮助)
【讨论】:
【参考方案2】:无论字符串长度如何,它都应该可以工作
这是我用来展示它的代码:
import random
a = ''
number_of_characters = 1000000
for i in range(number_of_characters):
a += chr(random.randint(97, 122))
print(len(a)) # a is now 1000000 characters long string
textfile = open('textfile.txt', 'w')
textfile.write(a)
textfile.close()
您可以将 number_of_characters 放入您喜欢的任何数字,但您必须等待字符串随机化
这是 textfile.txt 的截图:http://prntscr.com/bkyvs9
可能你的问题出在字符串 a 中。
【讨论】:
以上是关于Python在文本文件中保存长字符串的主要内容,如果未能解决你的问题,请参考以下文章