Проверка сохраненного текстового файла с Python, чтобы проверить, установлены ли параметры - PullRequest
1 голос
/ 23 октября 2019

У меня проблема с проверкой текстового файла. Мне нужно проверить, правильно ли сохранены параметры, которые я установил. Имя файла - это фактическая дата и время, и мне нужно проверить, есть ли отправленные параметры в этом текстовом (журнальном) файле. Ниже вы можете найти мой код:

Аргументы отправляются с argpars например. parser.add_argument ("freq", type = int)


print('Saving Measurement...')
print(inst.write(':MMEMory:STORe:TRACe 0, "%s"' % timestr)) #Saving file on the inst

time.sleep(1) #Wait for file to save
print('Downloading file from device...')
ftp = FTP('XX.XX.XXX.XXX') 
ftp.login()
ftp.retrbinary('RETR %s'% timestr + '.spa', open(timestr + '.spa', 'wb').write) #downloading saved file into a directory where you run script

print('Done, saved as: ' + timestr)
time.sleep(1)

with open (timestr + '.spa') as f:
    if (str(args.freq)) in f.read():
        print("saved correctly")

ftp.delete(timestr + '.spa') #Delete file from inst
ftp.quit()

Я не уверен, работает ли он для меня. Спасибо за вашу помощь

1 Ответ

0 голосов
/ 23 октября 2019

Вы можете использовать re module, чтобы помочь вам найти шаблон даты внутри вашего файла. Я приведу небольшой пример кода, который ищет, по крайней мере для этого случая, этот шаблон даты dd-mm-yyyy

import re

filepath = 'your-file-path.spa'
regex = '\d\d-\d\d-\d\d\d\d'

with open(filepath, 'r') as f:
    file = f.read()

dates_found = re.findall(regex, file)
# dates_found will be an array with all the dates found in the file
print(dates_found)

Вы можете использовать любое регулярное выражение в качестве первого аргумента re.findall(regex, file)

...