Skip to content

Instantly share code, notes, and snippets.

Revisions

  1. Александр Д. Повод revised this gist Dec 17, 2021. No changes.
  2. Александр Д. Повод renamed this gist Dec 17, 2021. 1 changed file with 0 additions and 0 deletions.
  3. Александр Д. Повод created this gist Dec 17, 2021.
    42 changes: 42 additions & 0 deletions replacetext
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,42 @@
    # Толкачев мне сразу непонятно мне объяснил зачем менять эту дату, подумал о дате на текущий момент
    # потому и стал выводить сегодняшнюю дату
    from datetime import datetime
    today = datetime.now().strftime('%m/%d/%Y %H:%M:%S')
    # Как цикл написал, то и понял что это необходимо GARM
    # Который по дефолту принимает файл с необходимым форматом даты (со временем понятно)
    import os
    # chardet - класс по определению кодировки, а UniversalDetector это уже функция, которая нам и поможет
    # вернуть словарь с кодировкой, языком...
    from chardet.universaldetector import UniversalDetector
    # Такой формат был...
    itwas = '17/01/1970' # dd/mm/YY
    # На этот необходимо нам заменить
    hasbecome = '01/17/1970' # mm/dd/YY
    # Путь к директории со спектрами...
    mypath = r'd:\ATOMTEX Chat\Download\tolkachev@atomtex.com\19700117_033725'
    # Имя файла для проверки кодировки
    namefile = 'spec_19700117_033739.spe'
    enc = UniversalDetector()
    with open(mypath + f'\{namefile}', 'rb') as flop:
    data = flop.read()
    for line in flop:
    enc.feed(line)
    if enc.done:
    break
    enc.close()
    # Переменная с кодировкой файла (строчный формат!)
    encoding = enc.result['encoding'] # результат = UTF-16 (default - UTF-8)
    # print(enc.result['encoding'])
    for item in os.listdir(mypath):
    '''
    В этом теле цикла мы проверяем заканчивается ли наш файл такими-то символами
    (с форматом файла проще - он у всех одинаковый, либо начало -- тогда необходимо указать
    усечение по строке в функции endwith('spec_', 5), по дефолу -- длина строки (имя файла))
    Считываем по индексу файл, меняем переменные, записываем.
    '''
    if item.endswith(".spe"):
    with open(mypath + f'\{item}', 'r', encoding = encoding) as file:
    data = file.read()
    replacedata = data.replace(itwas, hasbecome)
    with open(mypath + f'\{item}', 'w', encoding = encoding) as file:
    file.write(replacedata)