로드 중...
검색 중...
일치하는 항목 없음
core_example1.py
1가져오기argparse
2가져오기sys
3에서gams.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]ford범위(어두움)]
73인쇄(f"'.'.join(요소) = 레벨")
74인쇄("모든 솔루션 값이 표시됨")
75슬롯 나라gdxDataReadDone(gdx_h)
76
77 if슬롯 나라gdxClose(gdx_h):
78 올림예외("gdxClose 오류")
79 if 아님슬롯 나라gdxFree(gdx_h):
80 올림예외("gdxFree 오류")
81인쇄("모두 완료되었습니다")