Friday, September 16, 2011

[Python] Nhập file chứa ma trận vào chương trình

nếu như C có fscanf(), java có nextInt() thì Python chỉ có mỗi read()#đọc byte và readline()
làm mình tìm tung lên và chửi nó một lúc :">
Nhưng python thật quá tuyệt trong khoản này :p. Mò một lúc là có thể đọc dữ liệu (các hệ số) từ file:

Trước tiên dùng readline() để đọc một dòng, nó sẽ trả về 1 str. Sau đó split str này thành 1 list các str con rồi map lại thành 1 list int

hvnsweeting@hvnbox:/media/Paradise/DIC/pyhvn$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> fin = open("matrix.txt","r")
>>> matrix = []
>>> for i in range(5):
... arow = map(int, fin.readline().split(','))
... matrix.append(arow)
...
>>> matrix
[[4445, 2697, 5115, 718, 2209], [1096, 20, 1318, 7586, 5167], [9607, 7385, 521, 6084, 1364], [7206, 3114, 7760, 1094, 615], [3620, 8024, 577, 9997, 7377]]
>>> for i in matrix: print i
...
[4445, 2697, 5115, 718, 2209]
[1096, 20, 1318, 7586, 5167]
[9607, 7385, 521, 6084, 1364]
[7206, 3114, 7760, 1094, 615]
[3620, 8024, 577, 9997, 7377]
>>>
Ngày càng yêu python :x

No comments: