pythonでctypesフォルダダイアログを使うとソルバからの解がない状態になってしまうようです。pythonは、ソルバ起動の前段で実行されますが、自分自身が既定フォルダを変えてしまうようです。これは、ユーザ自身で元に戻す以外に対策方法はありません。
対策は、イニシャルフォルダを保存しておいて、抜けるときに元に戻すことです。
import sc3 import datetime import ctypes import os import csv import win32gui, win32con def get_open_file_name(title): filter='csv\0*.csv\0' customfilter='Other file types\0*.*\0' fname, customfilter, flags=win32gui.GetOpenFileNameW( InitialDir=project_file_path, Flags=win32con.OFN_ALLOWMULTISELECT|win32con.OFN_EXPLORER, File='', DefExt='csv', Title=title,# Filter=filter, CustomFilter=customfilter, FilterIndex=0) return str(fname) def get_shift_info(): filename=get_open_file_name("Open CSV File") print(filename) list=[] with open(filename, encoding='utf8', newline='') as f: csvreader = csv.reader(f) for row in csvreader: list.append(row) print(row) initial_path = os.getcwd() #Get initial folder path #print(initial_path) get_shift_info()#Your Operation os.chdir(initial_path)#Restore initial folder path for solving engine.
0 件のコメント:
コメントを投稿