Я предлагаю следующее:
Используйте for something in r_send:
вместо something = r_send.next()
;вам даже не понадобится попытка ... кроме блоков, поскольку вы просто поместите материал, закрывающий исходный файл, за пределы этого цикла (как уже упоминал кто-то, вы даже не просматриваете исходный файл в своем текущем коде),Тогда вы, вероятно, захотите обернуть все это в другой цикл, чтобы он продолжался до тех пор, пока файл не будет полностью обработан.
Используйте new_sent.write(line)
вместо print >> new_sent, ",".join(line)
.Не то, чтобы это имело большое значение, кроме бита ",".join
(который вам не нужен, поскольку вы не используете модуль csv
для записи в файл), который вы не должны использовать здесь в любом случае,но это делает тот факт, что вы пишете в файл, более очевидным.
Итак ...
sent = open(someFilePath)
r_send = csv.reader(sent)
someLineNumber = len(sent.readlines())
while someLineNumber > 0:
for something in r_send:
# do stuff
someLineNumber /= 2 # //= 2 in Python 3
sent.close()
newFile = cutFile(someFilePath, someLineNumber)
sent = open(newFile, "r")
r_send = csv.reader(sent)
Что-то в этом роде.