如何根据Python中的字符数拆分文本文件

如何根据Python中的字符数拆分文本文件,python,python-3.x,Python,Python 3.x,我有一个大文件,希望根据文本文件的字符数将其拆分为多个文件。每个文件的字符数必须小于100000 例如,输入文件test.txt将变成``test1.txt、test2.txt、test3.txt。。。test1932.txt“”等 我有下面的逻辑 with open("test.txt") as inFile: sentence = inFile.read().split() character_count = 0 output_sentence = "

我有一个大文件,希望根据文本文件的字符数将其拆分为多个文件。每个文件的字符数必须小于100000

例如,输入文件
test.txt
将变成``test1.txt、test2.txt、test3.txt。。。test1932.txt“”等

我有下面的逻辑

with open("test.txt") as inFile:
    sentence = inFile.read().split()

character_count = 0
output_sentence = ""
fileCount = 0
outputName = "test" + fileCount + ".txt"

for word in sentence:
    word = word.replace(",", "")
    character_count = character_count + len(word)
    if character_count < 100000:
        output_sentence = output_sentence + word + " "
    else:
        fileCount = fileCount + 1
        break

with open(outputName, "w") as outputFile:
    outputFile.write(output_sentence)
以open(“test.txt”)作为填充:
句子=infle.read().split()
字符计数=0
输出_句子=“”
fileCount=0
outputName=“test”+fileCount+“.txt”
对于句子中的单词:
word=word。替换(“,”,“”)
字符计数=字符计数+长度(字)
如果字符计数小于100000:
输出句子=输出句子+单词+“”
其他:
fileCount=fileCount+1
打破
以open(outputName,“w”)作为outputFile:
outputFile.write(输出句子)

然而,我有点被困在如何循环这个问题上,以便它不断生成新文件。如何实现这一点?

您似乎没有创建循环中的文件,也没有为当前文件的内容更新变量
语句。这个怎么样:

for word in sentence:
    word = word.replace(",", "")
    character_count = character_count + len(word)
    if character_count < 100000:
        output_sentence = output_sentence + word + " "
    else:
        character_count = 0
        outputName = "test" + fileCount + ".txt"

       with open(outputName, "w") as outputFile:
           outputFile.write(output_sentence)

       fileCount = fileCount + 1
       output_sentence = ''
        
对于句子中的单词:
word=word。替换(“,”,“”)
字符计数=字符计数+长度(字)
如果字符计数小于100000:
输出句子=输出句子+单词+“”
其他:
字符计数=0
outputName=“test”+fileCount+“.txt”
以open(outputName,“w”)作为outputFile:
outputFile.write(输出句子)
fileCount=fileCount+1
输出_句子=“”

只要在else子句中写出来,有什么问题吗?这不会从0开始计数,对吗?因为我想确保在它达到100000后继续创建新文件。请更正代码。
f = open('YourFile.txt', 'r')
c,d = 0,0
s = f.read()
f.close()
w = ""
for ch in s:
    c = c + 1
    w = w + ch
    if c == 100000:
        d = d + 1
        g = open('test'+str(d)+'.txt', 'w')
        g.write(w)
        g.close()
        w = ""
        c = 0