로드 중...
검색 중...
일치하는 항목 없음
core_example1.py
1가져오기argparse
2가져오기sys
3fromgams.core가져오기슬롯
4
5if__name__ =="__main__":
6파서 = argparse.ArgumentParser()
7parser.add_argument("sysDir")
8parser.add_argument("슬롯파일", nargs="?", 기본값=없음)
9args = 파서.parse_args()
10
11인쇄(f"GAMS 시스템 디렉토리 사용: args.sysDir")
12
13gdx_h = 슬롯new_gdxHandle_tp()
14rc = 슬롯gdxCreateD(gdx_h, args.sysDir, 슬롯GMS_SSSIZE)
15 if 아님rc[0]:
16 올림예외(rc[1])
17
18인쇄(f"슬롯 DLL 버전 사용: 슬롯gdxGetDLLVersion(gdx_h)[1]")
19
20 ifargs.슬롯파일is 없음:
21 if 아님슬롯gdxOpenWrite(gdx_h,"demanddata.슬롯", "xp_example1")[0]:
22 올림예외("오류 gdxOpenWrite")
23 if 아님슬롯gdxDataWriteStrStart(
24gdx_h,"수요", "수요 데이터", 1, 슬롯GMS_DT_PAR, 0
25):
26 상승예외("오류 gdxDataWriteStrStart")
27
28값 = 슬롯doubleArray(슬롯GMS_VAL_MAX)
29값[슬롯GMS_VAL_LEVEL] = 324.0
30슬롯gdxDataWriteStr(gdx_h, ["뉴욕"], 값)
31값[슬롯GMS_VAL_LEVEL] = 299.0
32슬롯gdxDataWriteStr(gdx_h, ["시카고"], 값)
33값[슬롯GMS_VAL_LEVEL] = 274.0
34슬롯gdxDataWriteStr(gdx_h, ["토피카"], 값)
35
36 if 아님슬롯gdxDataWriteDone(gdx_h):
37 올림예외("오류 gdxDataWriteDone")
38인쇄("수요 데이터 기록됨")
39 그밖에:
40 if 아님슬롯gdxOpenRead(gdx_h, sys.argv[2])[0]:
41 상승예외("오류 gdxOpenRead")
42
43파일_버전, 생산자 = 슬롯gdxFileVersion(gdx_h)[1:]
44인쇄(f"버전을 사용하여 작성된 슬롯 파일: file_version")
45인쇄(f"슬롯 파일 작성자: 생산자")
46
47rc, Sym_nr = 슬롯gdxFindSymbol(gdx_h,"x")
48 if 아님rc:
49 올림예외("기호 x를 찾을 수 없음")
50
51dim, Sym_type = 슬롯gdxSymbolInfo(gdx_h, Sym_nr)[2:]
52 if어두움 != 2또는sym_type != 슬롯GMS_DT_VAR:
53 올림예외(
54f"x는 2차원 변수가 아닙니다:\ndim = dim\ntype = sym_type"
55 )
56
57rc, nr_recs = 슬롯gdxDataReadStrStart(gdx_h, Sym_nr)
58 if 아님rc:
59 올림예외(
60f"gdxDataReadStrStart 오류: 슬롯gdxErrorStr(gdx_h, 슬롯gdxGetLastError(gdx_h))[1]"
61 )
62
63인쇄(f"변수 x에 nr_recs개의 레코드가 있습니다.")
64 fori범위(nr_recs):
65rc, 요소, 값, afdim = 슬롯gdxDataReadStr(gdx_h)
66 if 아님rc:
67 올림예외(
68f"gdxDataReadStr 오류: 슬롯gdxErrorStr(gdx_h, 슬롯gdxGetLastError(gdx_h))[1]"
69 )
70수준 = 값[슬롯GMS_VAL_LEVEL]
71 if레벨 != 0:
72요소 = [요소[d]fordin범위(어두움)]
73인쇄(f"'.'.join(요소) = 레벨")
74인쇄("모든 솔루션 값이 표시됨")
75슬롯gdxDataReadDone(gdx_h)
76
77 if슬롯슬롯닫기(gdx_h):
78 올림예외("gdxClose 오류")
79 if 아님슬롯gdxFree(gdx_h):
80 올림예외("gdxFree 오류")
81인쇄("모두 완료되었습니다")