Python - Не сохранять файлы размером 0 байт? - PullRequest
0 голосов
/ 12 февраля 2020

Я работаю над скребком, который извлекает файлы с веб-сайта, а затем анализирует их для достижения конечной цели. Синтаксический анализатор продолжает терпеть неудачу, когда он достигает файла 0 байтов (как это должно). Есть ли способ избежать сохранения файлов размером 0B при извлечении?

У меня нет примера кода, но я делаю, создавая временную папку с os.mkdir и сохраняя их там до они разобраны. Я тяну их с xml.etreeElementTree. Некоторые psuedocode:

#pretend parse function is here
os.mkdir(r'C:\TEMPFILES_TO_PARSE')

for entry in filepath:
    wb = xlrd.open_workbook(entry)
    #begin parse function(s)

tl; dr не хочет сохранять файлы размером 0B, чтобы избежать флагов ошибок.

1 Ответ

1 голос
/ 12 февраля 2020

Если ваш скрипт завершится неудачно, когда вы достигнете файла 0B, вы можете выполнить условие if, где вы проверите размер файла:

import os
file_size = os.path.getsize('yourfile.txt')

if file_size != 0:
    # do something here
...