30/09/2018, 17:40

Đọc số từ file văn bản trong python

Mik đã thử dùng

txt = open('INPUT.txt') 
print txt.readline() 

file INPUT.txt của mik là

1 2 3 
1 
2
4

vạy thì làm sao để đọc được số với điều kiện cách nhau xấu cách và dấu xuống dòng thế kia nhỉ

Coulson viết 19:42 ngày 30/09/2018
import re
print re.split(" |\n", "1 2 3\n4\n5\n6")
#['1', '2', '3', '4', '5', '6']

bạn đọc hết toàn bộ file 1 lượt rồi làm tương tự như vậy là được

Đào Trọng Nghĩa viết 19:51 ngày 30/09/2018

Ah ko ý mik là đọc rồi lưu mỗi cái kia vào 1 biến kiểu nguyên hoặc thực chứ k phải là kiểu xâu.
Sau khi

print “%r” % txt.readline()
thì lúc đó ‘1’ ‘2’ ,v.v. là kiểu xâu chứ không phải là kiểu số nguyên

Coulson viết 19:51 ngày 30/09/2018
  • bạn không cần readline để đọc từng dòng. Bạn có thể đọc hết rồi xử lý một lượt luôn.
  • Trong trường hợp bạn đọc từng dòng thi có thể xài split của string để cắt từng số ra
my_string = "1 2 3 4 5 6"
my_words = my_string.split(" ")
  • Sau khi cắt ra từng số thì chỉ đơn giản là convert từng phần tử sang số là được
my_numbers = map(lambda x: int(x), my_words)
print my_numbers # [1, 2, 3, 4, 5, 6]

cách sử dụng hàm map() bạn có thể tham khảo ở đây:

Bài liên quan
0