Форум сайта python.su
Цель Работа с строками , замена значейний в строках , клонирование строк, сохранение строк в файле.
# -*- coding: UTF-8 -*- import uuid import random import sys import errno import uuid import os import time TEMPL_1 = '''|GUID|Номер|''' FORMULAR = '''|GUID|NUM|- тут будет каой-то текст ''' NUMS = set() def doc_num() -> int: i = random.randrange(100000000, 999999999) if i in NUMS: return doc_num() else: NUMS.add(i) return i def Make_text_file_without_the_full_path(text_in_file,file_location,file_name="version.sp"): #file_name - имя файла с раширением #text_in_file -текст который будет содержать файл #encoding -кодировка файла по умолчанию utf-8 try: file = open(file_location+file_name,"w",encoding="cp1251") file.write(text_in_file) file.close() print("Создан файл "+file_name) print(file_location+file_name) except OSError as e: if e.errno != errno.EEXIST: raise def Data_Replacement(file_in,file_out,NUM=doc_num()): Document_number=0 GUID = str(uuid.uuid4())# генерировать GUID и превратить его в строку GUID = GUID.upper() # Преобразовать GUID в верхний регистр i=0 text_in_file1 ="" for count in range(100): text_in_file1= text_in_file1+FORMULAR print(count) # Прочесть содержимое файла with open(file_in, 'r', encoding='cp1251') as file : filedata = file.read() # Заменить строку filedata = filedata.replace('GUID', GUID ) filedata = filedata.replace('NUM',str(NUM=doc_num())) # записать в файл обратно with open(file_out, 'w', encoding='cp1251') as file: file.write(filedata) if __name__ == '__main__': text_in_file1 ="" file_location="D:\\GUID\\" Make_text_file_without_the_full_path(TEMPL_1+text_in_file1,file_location,file_name="text1.txt") Data_Replacement(file_location+"text1.txt",file_location+"text2.txt",10)
Отредактировано VIRTOK (Сен. 21, 2022 19:54:35)
Офлайн
проверьте путь к файлу еще file_in
import errno import random import uuid TEMPL_1 = """|GUID|Номер|""" FORMULAR = """|GUID|NUM|- тут будет каой-то текст """ NUMS = set() def doc_num(): i = random.randrange(100000000, 999999999) if i in NUMS: return doc_num() else: NUMS.add(i) return i def Make_text_file_without_the_full_path(text_in_file, file_location, file_name="version.sp"): # file_name - имя файла с раширением # text_in_file -текст который будет содержать файл # encoding -кодировка файла по умолчанию utf-8 try: file = open(file_location + file_name, "w", encoding="cp1251") file.write(text_in_file) file.close() print("Создан файл " + file_name) print(file_location + file_name) except OSError as e: if e.errno != errno.EEXIST: raise def Data_Replacement(file_in, file_out, num=doc_num()): GUID = str(uuid.uuid4()) # генерировать GUID и превратить его в строку GUID = GUID.upper() # Преобразовать GUID в верхний регистр text_in_file1 = "" for count in range(100): text_in_file1 = text_in_file1 + FORMULAR print(count) # Прочесть содержимое файла with open(file_in, "r", encoding="cp1251") as file: filedata = file.read() # Заменить строку filedata = filedata.replace("GUID", GUID) # filedata = filedata.replace("NUM", str(doc_num())) filedata = filedata.replace("NUM", str(num)) # записать в файл обратно with open(file_out, "w", encoding="cp1251") as file: file.write(filedata) if __name__ == "__main__": text_in_file1 = "" file_location = "D:\\GUID\\" Make_text_file_without_the_full_path(TEMPL_1 + text_in_file1, file_location, file_name="text1.txt") Data_Replacement(file_location + "text1.txt", file_location + "text2.txt", 10)
Отредактировано ZerG (Сен. 21, 2022 20:51:43)
Офлайн