Sut i Ddarllen ac Ysgrifennu o/i Ffeil¶
Wrth redeg arbrofion, fe all fod yn ddefnyddiol o ddarllen mewn paramedrau o ffeil, ac i all allforio cofnodion data i ffeil.
Gallwch wneud hwn yn hawdd gyda Ciw.
Fe all cynrychioli geiriaduron o baramedrau fel ffeiliau .yml
, a gall allforio canlyniadau fel ffeiliau .csv
.
Ffeiliau Paramedrau¶
Ystyriwch y rhwydwaith canlynol:
>>> import ciw
>>> N = ciw.create_network(
... arrival_distributions={'Class 0': [ciw.dists.Exponential(6.0), ciw.dists.Exponential(2.5)]},
... service_distributions={'Class 0': [ciw.dists.Exponential(8.5), ciw.dists.Exponential(5.5)]},
... routing={'Class 0': [[0.0, 0.2], [0.1, 0.0]]},
... number_of_servers=[1, 1],
... queue_capacities=[float('inf'), 4]
... )
Cynrychiolir hwn fel ffeil .yml
isod:
parameters.yml
arrival_distributions:
Class 0:
- - Exponential
- 6.0
- - Exponential
- 2.5
service_distributions:
Class 0:
- - Exponential
- 8.5
- - Exponential
- 5.5
routing:
Class 0:
- - 0.0
- 0.2
- - 0.1
- 0.0
number_of_servers:
- 1
- 1
queue_capacities:
- "Inf"
- 4
Gallwch droi hwn mewn i wrthrych Network yn defnyddio'r ffwythiant ciw.create_network_from_yml
:
>>> import ciw
>>> N = ciw.create_network_from_yml('<path_to_file>')
>>> Q = ciw.Simulation(N)
Allforio Canlyniadau¶
Unwaith bod efelychiad wedi'i rhedeg, gall ysgrifennu'r holl gofnodion data i ffeil gan ddefnyddio dull write_records_to_file
y gwrthrych Simulation.
Mae'r dull yma yn ysgrifennu'r holl ganlyniadau a gafwyd gan y dull get_all_records
(gwelwch fan hyn am fwy o wybodaeth) i ffeil .csv
, lle mae pob rhes yw arsylwad a pob colofn y newidyn:
>>> Q.write_records_to_file('<path_to_file>')
Mae'r dull yma hefyd yn cymryd yr allweddair opsiynol header
.
Os osodwyd hwn i True
yna bydd y rhes gyntaf yn cynnwys enwau'r newidynnau.
Yr opsiwn diofyn yw True
, gosodwch i False
os nad oes angen y rhain:
>>> Q.write_records_to_file('<path_to_file>', headers=True)
>>> Q.write_records_to_file('<path_to_file>', headers=False)