Skip to content

Instantly share code, notes, and snippets.

  • Save ialexpovad/01984a726ed9493615881ed80b348c8d to your computer and use it in GitHub Desktop.
Save ialexpovad/01984a726ed9493615881ed80b348c8d to your computer and use it in GitHub Desktop.
replacetext
# Толкачев мне сразу непонятно мне объяснил зачем менять эту дату, подумал о дате на текущий момент
# потому и стал выводить сегодняшнюю дату
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\[email protected]\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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment