Python在文本文件中保存长字符串

hen*_*lom 4 python string save

我有一个很长的字符串,我想用代码保存在一个文本文件中:

taxtfile.write(a)

但由于字符串太长,保存的文件打印为:

"something something ..... something something"   
Run Code Online (Sandbox Code Playgroud)

我如何确保它会保存整个字符串而不截断它?

Jor*_*tis 8

我认为这只是您的 IDE 或终端环境中的一种表示。尝试如下操作,然后打开文件并亲自查看其写入是否完整:

x = 'abcd'*10000
with open('test.txt', 'w+') as fh:
    fh.write(x)
Run Code Online (Sandbox Code Playgroud)

请注意,上面的内容会将文件写入到您当前的工作目录中。在调用 Python 之前,您可能首先要导航到 ~/Desktop。

另外,你是如何构建字符串的a?写得怎么样textfile?如果调用textfile.write(a)发生在循环内,则循环中可能存在错误。(显示更多代码会有所帮助)


and*_*nds 6

无论字符串长度如何,它都应该工作

这是我用来展示它的代码:

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()
Run Code Online (Sandbox Code Playgroud)

你可以把 number_of_characters 放在你喜欢的任何数字上,但你必须等待字符串被随机化

这是 textfile.txt 的截图:http : //prntscr.com/bkyvs9

可能您的问题出在字符串 a 中。