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在文本文件中保存长字符串的主要内容,如果未能解决你的问题,请参考以下文章

源文件中的长文本字符串,导致输出文件中出现多行

python内存错误(有足够的可用内存)

使用python将文件列表保存到文本文件中

将数据表保存到文本文件的最短方法

是否有可能知道从文件中读取的长文本将在 C 中使用多少个字符?

在文本文件中保存多个数组(python)