515 lines
24 KiB
Python
515 lines
24 KiB
Python
# 标准库
|
||
import traceback, os
|
||
|
||
# 三方库
|
||
import configparser
|
||
from PyQt5.QtCore import QObject, pyqtSignal
|
||
|
||
# 自己写的库
|
||
from library.dir_manager import DirManager
|
||
|
||
|
||
# class ConfigFile():
|
||
# def __init__(self):
|
||
# self.base_dir = get_path()
|
||
#
|
||
# self.log_dir = self.base_dir + '//log'
|
||
# self.create_directory(self.log_dir)
|
||
#
|
||
# self.corning_config_file = self.log_dir + '//corning_config.ini'
|
||
#
|
||
# self.read_config_file()
|
||
#
|
||
# self.signals = WorkerSignals()
|
||
# self.signals.image_signal.connect(self.image_record_param_changed)
|
||
# self.signals.spectral_signal.connect(self.spectral_record_param_changed)
|
||
#
|
||
#
|
||
# # 查看是否存在保存光谱和影像文件的目录,如果没有就创建
|
||
# def create_directory(self, directory):
|
||
# if not os.path.exists(directory):
|
||
# print('创建文件夹:', directory)
|
||
# os.makedirs(directory)
|
||
#
|
||
# # 读取配置文件,如果没有就创建
|
||
# def read_config_file(self):
|
||
# if os.path.exists(self.corning_config_file):
|
||
# '''
|
||
# 如果存在配置文件,就从配置文件中读取软件配置信息
|
||
# '''
|
||
# print('配置文件存在!')
|
||
#
|
||
# config = configparser.ConfigParser()
|
||
# config.read(self.corning_config_file)
|
||
#
|
||
# self.image_dir = config.get('image_record_param', 'image_dir')
|
||
# self.create_directory(self.image_dir)
|
||
# self.default_image_name = config.get('image_record_param', 'default_image_name')
|
||
# self.framerate = int(config.get('image_record_param', 'framerate'))
|
||
# self.exposure_time = int(config.get('image_record_param', 'exposure_time'))
|
||
# self.gain = int(float(config.get('image_record_param', 'gain')))
|
||
# self.frame_number = int(config.get('image_record_param', 'frame_number'))
|
||
#
|
||
# self.spectral_dir = config.get('spectral_record_param', 'spectral_dir')
|
||
# self.create_directory(self.spectral_dir)
|
||
# self.default_spectral_name = config.get('spectral_record_param', 'default_spectral_name')
|
||
#
|
||
# self.binning = int(config.get('bin', 'binning'))
|
||
# if self.binning == 1:
|
||
# self.start_column = int(config.get('bin', 'start_column_binning_1'))
|
||
# self.end_column = int(config.get('bin', 'end_column_binning_1'))
|
||
# self.start_row = int(config.get('bin', 'start_row_binning_1'))
|
||
# self.end_row = int(config.get('bin', 'end_row_binning_1'))
|
||
# elif self.binning == 2:
|
||
# self.start_column = int(config.get('bin', 'start_column_binning_2'))
|
||
# self.end_column = int(config.get('bin', 'end_column_binning_2'))
|
||
# self.start_row = int(config.get('bin', 'start_row_binning_2'))
|
||
# self.end_row = int(config.get('bin', 'end_row_binning_2'))
|
||
#
|
||
# # print(self.default_dir, self.binning, self.start_column, self.end_column, self.start_row, self.end_row)
|
||
#
|
||
# else:
|
||
# '''
|
||
# 1、如果不存在配置文件,就建立配置文件;
|
||
# 2、并且手动创建配置变量
|
||
# '''
|
||
# config = configparser.ConfigParser()
|
||
#
|
||
# # config.add_section('effective_window')
|
||
# # startRow = 339
|
||
# # endRow = 639
|
||
# # startColumn = 285
|
||
# # endColumn = 1649
|
||
#
|
||
#
|
||
# config.add_section('bin')
|
||
# config.set('bin', 'binning', '1')
|
||
#
|
||
# config.set('bin', 'start_column_binning_1', '12')
|
||
# config.set('bin', 'end_column_binning_1', '1376')
|
||
# config.set('bin', 'start_row_binning_1', '1')
|
||
# config.set('bin', 'end_row_binning_1', '301')
|
||
#
|
||
# config.set('bin', 'start_column_binning_2', '13')
|
||
# config.set('bin', 'end_column_binning_2', '695')
|
||
# config.set('bin', 'start_row_binning_2', '1')
|
||
# config.set('bin', 'end_row_binning_2', '150')
|
||
#
|
||
# config.add_section('image_record_param')
|
||
# config.set('image_record_param', 'image_dir', self.base_dir + '/image')
|
||
# config.set('image_record_param', 'default_image_name', 'testimage')
|
||
# config.set('image_record_param', 'framerate', '20')
|
||
# config.set('image_record_param', 'exposure_time', '500')
|
||
# config.set('image_record_param', 'gain', '0')
|
||
# config.set('image_record_param', 'frame_number', '20')
|
||
#
|
||
# config.add_section('spectral_record_param')
|
||
# config.set('spectral_record_param', 'spectral_dir', self.base_dir + '/spectral')
|
||
# config.set('spectral_record_param', 'default_spectral_name', 'testspectral')
|
||
# # config.set('spectral_record_param', 'start_column_binning_1', '12')
|
||
#
|
||
# with open(self.corning_config_file, mode='w') as f:
|
||
# config.write(f)
|
||
# print('创建配置文件成功!')
|
||
#
|
||
# # 如果没有配置文件,就手动创建配置变量
|
||
# self.image_dir = self.base_dir + '/image'
|
||
# self.create_directory(self.image_dir)
|
||
# self.default_image_name = 'testimage'
|
||
# self.framerate = 20
|
||
# self.exposure_time = 500
|
||
# self.gain = 0
|
||
# self.frame_number = 20
|
||
#
|
||
# self.spectral_dir = self.base_dir + '/spectral'
|
||
# self.create_directory(self.spectral_dir)
|
||
# self.default_spectral_name = 'testspectral'
|
||
#
|
||
# self.binning = int(config.get('bin', 'binning'))
|
||
# self.start_column = int(config.get('bin', 'start_column_binning_1'))
|
||
# self.end_column = int(config.get('bin', 'end_column_binning_1'))
|
||
# self.start_row = int(config.get('bin', 'start_row_binning_1'))
|
||
# self.end_row = int(config.get('bin', 'end_row_binning_1'))
|
||
#
|
||
# # self.start_column = 12
|
||
# # self.end_column = 1376
|
||
# # self.start_row = 1
|
||
# # self.end_row = 300
|
||
#
|
||
# def image_record_param_changed(self, dictionary):
|
||
# '''
|
||
# :param dictionary: {'image_dir':值, 'image_record_param': 值}
|
||
# :return:
|
||
# '''
|
||
# try:
|
||
# # print('接收的参数个数:', len(dictionary.keys()))
|
||
#
|
||
# config = configparser.ConfigParser()
|
||
# config.read(self.corning_config_file)
|
||
#
|
||
# for key in dictionary.keys():
|
||
# if key == 'image_dir':
|
||
# self.image_dir = dictionary[key]
|
||
# config.set('image_record_param', key, dictionary[key])
|
||
# if key == 'default_image_name':
|
||
# self.default_image_name = dictionary[key]
|
||
# config.set('image_record_param', key, dictionary[key])
|
||
# if key == 'framerate':
|
||
# self.framerate = dictionary[key]
|
||
# config.set('image_record_param', key, str(dictionary[key]))
|
||
# if key == 'exposure_time':
|
||
# self.exposure_time = dictionary[key]
|
||
# config.set('image_record_param', key, str(dictionary[key]))
|
||
# if key == 'gain':
|
||
# self.gain = dictionary[key]
|
||
# config.set('image_record_param', key, str(dictionary[key]))
|
||
# if key == 'frame_number':
|
||
# self.frame_number = dictionary[key]
|
||
# config.set('image_record_param', key, str(dictionary[key]))
|
||
# except:
|
||
# traceback.print_exc()
|
||
#
|
||
# with open(self.corning_config_file, 'w') as f:
|
||
# config.write(f)
|
||
#
|
||
# def spectral_record_param_changed(self, dictionary):
|
||
# '''
|
||
# :param dictionary: {'image_dir':值, 'image_record_param': 值}
|
||
# :return:
|
||
# '''
|
||
# print(len(dictionary.keys()))
|
||
#
|
||
# config = configparser.ConfigParser()
|
||
# config.read(self.corning_config_file)
|
||
#
|
||
# try:
|
||
# for key in dictionary.keys():
|
||
# if key == 'spectral_dir':
|
||
# self.spectral_dir = dictionary[key]
|
||
# config.set('spectral_record_param', key, dictionary[key])
|
||
# if key == 'default_spectral_name':
|
||
# self.default_spectral_name = dictionary[key]
|
||
# config.set('spectral_record_param', key, dictionary[key])
|
||
# except:
|
||
# traceback.print_exc()
|
||
#
|
||
# with open(self.corning_config_file, 'w') as f:
|
||
# config.write(f)
|
||
|
||
|
||
class ConfigFile(QObject, DirManager):
|
||
# 信号必须定义为类属性,不能放在__init__方法里
|
||
image_signal = pyqtSignal(dict)
|
||
spectral_signal = pyqtSignal(dict)
|
||
|
||
def __init__(self):
|
||
'''
|
||
配置文件读取和写入类,采集数据需要的帧率、曝光、帧数、文件名等等都由此类从文件中读取并保存在此类中,
|
||
'''
|
||
super(ConfigFile, self).__init__()
|
||
|
||
self.corning_config_file = self.log_dir + '//corning_config.ini'
|
||
|
||
self.read_config_file()
|
||
|
||
self.image_signal.connect(self.image_record_param_changed)
|
||
self.spectral_signal.connect(self.spectral_record_param_changed)
|
||
|
||
# 读取配置文件,如果没有就创建
|
||
def read_config_file(self):
|
||
if os.path.exists(self.corning_config_file):
|
||
'''
|
||
如果存在配置文件,就从配置文件中读取软件配置信息
|
||
'''
|
||
print('配置文件存在!')
|
||
|
||
config = configparser.ConfigParser()
|
||
config.read(self.corning_config_file)
|
||
|
||
# self.image_dir = config.get('image_record_param', 'image_dir')
|
||
# self.create_directory(self.image_dir)
|
||
# self.default_image_name = config.get('image_record_param', 'default_image_name')
|
||
# self.framerate = int(config.get('image_record_param', 'framerate'))
|
||
# self.exposure_time = int(float(config.get('image_record_param', 'exposure_time')))
|
||
# self.gain = int(float(config.get('image_record_param', 'gain')))
|
||
# self.frame_number = int(config.get('image_record_param', 'frame_number'))
|
||
# self.arcus_speed = int(config.get('image_record_param', 'arcus_speed'))
|
||
#
|
||
# self.spectral_dir = config.get('spectral_record_param', 'spectral_dir')
|
||
# self.create_directory(self.spectral_dir)
|
||
# self.default_spectral_name = config.get('spectral_record_param', 'default_spectral_name')
|
||
# self.spectral_number = int(config.get('spectral_record_param', 'spectral_number'))
|
||
# self.framenumber_average = int(config.get('spectral_record_param', 'framenumber_average'))
|
||
# self.exposure_time_spectral = int(config.get('spectral_record_param', 'exposure_time_spectral'))
|
||
#
|
||
# self.binning = int(config.get('bin', 'binning'))
|
||
# if self.binning == 1:
|
||
# self.start_column = int(config.get('bin', 'start_column_binning_1'))
|
||
# self.end_column = int(config.get('bin', 'end_column_binning_1'))
|
||
# self.start_row = int(config.get('bin', 'start_row_binning_1'))
|
||
# self.end_row = int(config.get('bin', 'end_row_binning_1'))
|
||
# elif self.binning == 2:
|
||
# self.start_column = int(config.get('bin', 'start_column_binning_2'))
|
||
# self.end_column = int(config.get('bin', 'end_column_binning_2'))
|
||
# self.start_row = int(config.get('bin', 'start_row_binning_2'))
|
||
# self.end_row = int(config.get('bin', 'end_row_binning_2'))
|
||
#
|
||
# # print(self.default_dir, self.binning, self.start_column, self.end_column, self.start_row, self.end_row)
|
||
else:
|
||
'''
|
||
1、如果不存在配置文件,就建立配置文件;
|
||
2、并且手动创建配置变量
|
||
'''
|
||
config = configparser.ConfigParser()
|
||
|
||
|
||
|
||
config.add_section('bin')
|
||
config.set('bin', 'binning', '1')
|
||
|
||
# # Serial number = 008
|
||
# config.set('bin', 'start_column_binning_1', '12')
|
||
# config.set('bin', 'end_column_binning_1', '1376')
|
||
# config.set('bin', 'start_row_binning_1', '2')
|
||
# config.set('bin', 'end_row_binning_1', '302')
|
||
#
|
||
# config.set('bin', 'start_column_binning_2', '13')
|
||
# config.set('bin', 'end_column_binning_2', '695')
|
||
# config.set('bin', 'start_row_binning_2', '0')
|
||
# config.set('bin', 'end_row_binning_2', '150')
|
||
|
||
# # Serial number = 0073
|
||
# config.set('bin', 'start_column_binning_1', '12')
|
||
# config.set('bin', 'end_column_binning_1', '1376')
|
||
# config.set('bin', 'start_row_binning_1', '1')
|
||
# config.set('bin', 'end_row_binning_1', '301')
|
||
#
|
||
# config.set('bin', 'start_column_binning_2', '13')
|
||
# config.set('bin', 'end_column_binning_2', '695')
|
||
# config.set('bin', 'start_row_binning_2', '0')
|
||
# config.set('bin', 'end_row_binning_2', '150')
|
||
|
||
# # Serial number = 0095
|
||
# config.set('bin', 'start_column_binning_1', '12')
|
||
# config.set('bin', 'end_column_binning_1', '1376')
|
||
# config.set('bin', 'start_row_binning_1', '1')
|
||
# config.set('bin', 'end_row_binning_1', '301')
|
||
#
|
||
# config.set('bin', 'start_column_binning_2', '13')
|
||
# config.set('bin', 'end_column_binning_2', '695')
|
||
# config.set('bin', 'start_row_binning_2', '0')
|
||
# config.set('bin', 'end_row_binning_2', '150')
|
||
|
||
# Serial number = 0031
|
||
config.set('bin', 'start_column_binning_1', '12')
|
||
config.set('bin', 'end_column_binning_1', '1376')
|
||
config.set('bin', 'start_row_binning_1', '1')
|
||
config.set('bin', 'end_row_binning_1', '301')
|
||
|
||
config.set('bin', 'start_column_binning_2', '13')
|
||
config.set('bin', 'end_column_binning_2', '695')
|
||
config.set('bin', 'start_row_binning_2', '1')
|
||
config.set('bin', 'end_row_binning_2', '151')
|
||
|
||
# # Serial number = 0099
|
||
# config.set('bin', 'start_column_binning_1', '12')
|
||
# config.set('bin', 'end_column_binning_1', '1376')
|
||
# config.set('bin', 'start_row_binning_1', '1')
|
||
# config.set('bin', 'end_row_binning_1', '301')
|
||
#
|
||
# config.set('bin', 'start_column_binning_2', '13')
|
||
# config.set('bin', 'end_column_binning_2', '695')
|
||
# config.set('bin', 'start_row_binning_2', '1')
|
||
# config.set('bin', 'end_row_binning_2', '151')
|
||
|
||
|
||
|
||
config.add_section('effective_window')
|
||
config.set('effective_window', 'width_binning_1', '1392')
|
||
config.set('effective_window', 'offsetX_binning_1', '272')
|
||
config.set('effective_window', 'height_binning_1', '302')
|
||
config.set('effective_window', 'offsetY_binning_1', '364')
|
||
|
||
config.set('effective_window', 'width_binning_2', '696')
|
||
config.set('effective_window', 'offsetX_binning_2', '128')
|
||
config.set('effective_window', 'height_binning_2', '151')
|
||
config.set('effective_window', 'offsetY_binning_2', '182')
|
||
|
||
config.add_section('calibration_file')
|
||
config.set('calibration_file', 'cal_file_name_image_bining_1', 'lens_bin1_gain_SN0073')
|
||
config.set('calibration_file', 'cal_file_name_image_bining_2', 'lens_bin2_gain_SN0073')
|
||
|
||
config.set('calibration_file', 'cal_file_it_image_bining_1', '6969')
|
||
config.set('calibration_file', 'cal_file_it_image_bining_2', '1628')
|
||
|
||
config.set('calibration_file', 'cal_file_name_spectral_bining_1', 'optical_fiber_bin1_gain_SN0073')
|
||
config.set('calibration_file', 'cal_file_it_spectrl_bining_1', '42300')
|
||
|
||
|
||
|
||
|
||
config.add_section('wavelength_file_name')
|
||
config.set('wavelength_file_name', 'file_name', 'wavelength0073.txt')
|
||
|
||
|
||
|
||
|
||
|
||
config.add_section('image_record_param')
|
||
config.set('image_record_param', 'image_dir', self.base_dir + '/image')
|
||
config.set('image_record_param', 'default_image_name', 'testimage')
|
||
config.set('image_record_param', 'framerate', '20')
|
||
config.set('image_record_param', 'exposure_time', '500')
|
||
config.set('image_record_param', 'gain', '0')
|
||
config.set('image_record_param', 'frame_number', '20')
|
||
config.set('image_record_param', 'arcus_speed', '1000')
|
||
|
||
config.add_section('spectral_record_param')
|
||
config.set('spectral_record_param', 'spectral_dir', self.base_dir + '/spectral')
|
||
config.set('spectral_record_param', 'default_spectral_name', 'testspectral')
|
||
config.set('spectral_record_param', 'spectral_number', '10')
|
||
config.set('spectral_record_param', 'framenumber_average', '10')
|
||
config.set('spectral_record_param', 'exposure_time_spectral', '1000')
|
||
# config.set('spectral_record_param', 'start_column_binning_1', '12')
|
||
|
||
with open(self.corning_config_file, mode='w') as f:
|
||
config.write(f)# 如果没有配置文件,就手动创建配置变量
|
||
print('创建配置文件成功!')
|
||
|
||
|
||
|
||
# 读取配置文件中的参数
|
||
self.binning = int(config.get('bin', 'binning'))
|
||
print('读取配置文件中参数:', self.binning)
|
||
|
||
if self.binning == 1:
|
||
self.effective_window_width = int(config.get('effective_window', 'width_binning_1'))
|
||
self.effective_window_offsetx = int(config.get('effective_window', 'offsetx_binning_1'))
|
||
self.effective_window_height = int(config.get('effective_window', 'height_binning_1'))
|
||
self.effective_window_offsety = int(config.get('effective_window', 'offsety_binning_1'))
|
||
|
||
self.start_column = int(config.get('bin', 'start_column_binning_1'))
|
||
self.end_column = int(config.get('bin', 'end_column_binning_1'))
|
||
self.start_row = int(config.get('bin', 'start_row_binning_1'))
|
||
self.end_row = int(config.get('bin', 'end_row_binning_1'))
|
||
|
||
self.calibration_file_name_image=config.get('calibration_file', 'cal_file_name_image_bining_1')
|
||
self.calibration_file_it_image = int(config.get('calibration_file', 'cal_file_it_image_bining_1'))
|
||
self.calibration_file_name_spectral = config.get('calibration_file', 'cal_file_name_spectral_bining_1')
|
||
self.calibration_file_it_spectral = int(config.get('calibration_file', 'cal_file_it_spectrl_bining_1'))
|
||
elif self.binning == 2:
|
||
self.effective_window_width = int(config.get('effective_window', 'width_binning_2'))
|
||
self.effective_window_offsetx = int(config.get('effective_window', 'offsetx_binning_2'))
|
||
self.effective_window_height = int(config.get('effective_window', 'height_binning_2'))
|
||
self.effective_window_offsety = int(config.get('effective_window', 'offsety_binning_2'))
|
||
|
||
self.start_column = int(config.get('bin', 'start_column_binning_2'))
|
||
self.end_column = int(config.get('bin', 'end_column_binning_2'))
|
||
self.start_row = int(config.get('bin', 'start_row_binning_2'))
|
||
self.end_row = int(config.get('bin', 'end_row_binning_2'))
|
||
|
||
self.calibration_file_name_image = config.get('calibration_file', 'cal_file_name_image_bining_2')
|
||
self.calibration_file_it_image = int(config.get('calibration_file', 'cal_file_it_image_bining_2'))
|
||
|
||
self.wavelength_file_name = config.get('wavelength_file_name', 'file_name')
|
||
|
||
self.image_dir = config.get('image_record_param', 'image_dir')
|
||
self.create_directory(self.image_dir)
|
||
self.default_image_name = config.get('image_record_param', 'default_image_name')
|
||
self.framerate = int(float(config.get('image_record_param', 'framerate')))
|
||
self.exposure_time = int(float(config.get('image_record_param', 'exposure_time')))
|
||
self.gain = int(float(config.get('image_record_param', 'gain')))
|
||
self.frame_number = int(float(config.get('image_record_param', 'frame_number')))
|
||
self.arcus_speed = int(float(config.get('image_record_param', 'arcus_speed')))
|
||
|
||
self.spectral_dir = config.get('spectral_record_param', 'spectral_dir')
|
||
self.create_directory(self.spectral_dir)
|
||
self.default_spectral_name = config.get('spectral_record_param', 'default_spectral_name')
|
||
self.spectral_number = int(float(config.get('spectral_record_param', 'spectral_number')))
|
||
self.framenumber_average = int(float(config.get('spectral_record_param', 'framenumber_average')))
|
||
self.exposure_time_spectral = int(float(config.get('spectral_record_param', 'exposure_time_spectral')))
|
||
|
||
# self.start_column = 12
|
||
# self.end_column = 1376
|
||
# self.start_row = 1
|
||
# self.end_row = 300
|
||
|
||
def image_record_param_changed(self, dictionary):
|
||
'''
|
||
:param dictionary: {'image_dir':值, 'image_record_param': 值}
|
||
:return:
|
||
'''
|
||
try:
|
||
# print('接收的参数个数:', len(dictionary.keys()))
|
||
|
||
config = configparser.ConfigParser()
|
||
config.read(self.corning_config_file)
|
||
|
||
for key in dictionary.keys():
|
||
# self.key = dictionary[key]
|
||
# config.set('image_record_param', key, dictionary[key])
|
||
|
||
if key == 'image_dir':
|
||
self.image_dir = dictionary[key]
|
||
config.set('image_record_param', key, dictionary[key])
|
||
if key == 'default_image_name':
|
||
self.default_image_name = dictionary[key]
|
||
config.set('image_record_param', key, dictionary[key])
|
||
if key == 'framerate':
|
||
self.framerate = dictionary[key]
|
||
config.set('image_record_param', key, str(dictionary[key]))
|
||
if key == 'exposure_time':
|
||
self.exposure_time = dictionary[key]
|
||
config.set('image_record_param', key, str(dictionary[key]))
|
||
if key == 'gain':
|
||
self.gain = dictionary[key]
|
||
config.set('image_record_param', key, str(dictionary[key]))
|
||
if key == 'frame_number':
|
||
self.frame_number = dictionary[key]
|
||
config.set('image_record_param', key, str(dictionary[key]))
|
||
if key == 'arcus_speed':
|
||
self.arcus_speed = dictionary[key]
|
||
config.set('image_record_param', key, str(dictionary[key]))
|
||
except:
|
||
traceback.print_exc()
|
||
|
||
with open(self.corning_config_file, 'w') as f:
|
||
config.write(f)
|
||
|
||
def spectral_record_param_changed(self, dictionary):
|
||
'''
|
||
:param dictionary: {'image_dir':值, 'image_record_param': 值}
|
||
:return:
|
||
'''
|
||
print(len(dictionary.keys()))
|
||
|
||
config = configparser.ConfigParser()
|
||
config.read(self.corning_config_file)
|
||
|
||
try:
|
||
for key in dictionary.keys():
|
||
if key == 'spectral_dir':
|
||
self.spectral_dir = dictionary[key]
|
||
config.set('spectral_record_param', key, dictionary[key])
|
||
if key == 'default_spectral_name':
|
||
self.default_spectral_name = dictionary[key]
|
||
config.set('spectral_record_param', key, dictionary[key])
|
||
if key == 'spectral_number':
|
||
self.spectral_number = dictionary[key]
|
||
config.set('spectral_record_param', key, str(dictionary[key]))
|
||
if key == 'framenumber_average':
|
||
self.framenumber_average = dictionary[key]
|
||
config.set('spectral_record_param', key, str(dictionary[key]))
|
||
if key == 'exposure_time_spectral':
|
||
self.exposure_time_spectral = dictionary[key]
|
||
config.set('spectral_record_param', key, str(dictionary[key]))
|
||
except:
|
||
traceback.print_exc()
|
||
|
||
with open(self.corning_config_file, 'w') as f:
|
||
config.write(f)
|
||
|
||
|
||
if __name__ == '__main__':
|
||
x = ConfigFile()
|