如何根据Python中的字符数拆分文本文件
我有一个大文件,希望根据文本文件的字符数将其拆分为多个文件。每个文件的字符数必须小于100000 例如,输入文件如何根据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 = "
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