01/10/2018, 00:20
Làm thế nào để tách từ bằng python?
Mình mới học python gần đây nên cần các pro chỉ dẫn 1 chút
Ví dụ mình có 1 file chứa văn bản tiếng anh là text.txt. Làm cách nào để tách các từ trong file ra và ghi thành 1 file mới (không dùng tool tokenize, chỉ code bằng python). File mới là file chứa nội dung file text.txt, mỗi từ được tách ra thành 1 dòng riêng biệt và xóa các dấu . , / ? ; :…
Bài liên quan
Python nó chứ có phải C đâu mà cần tokenize phức tạp.
Bạn có thể tìm hiểu về method
split(sep=None, maxsplit=-1)
. Nó sẽ trả về 1 list các string sau khi được “cắt” bớisep
(mặc định là None, tức là khoảng trắng), số lần cắt tối đa làmaxsplit
(mặc định là -1, tức là cắt hết).Còn để “tỉa” bớt các dấu câu như . , ! ? ; : thì bạn có thể tìm hiểu method
lstrip([chars])
,rstrip([chars])
haystrip([chars])
, lần lượt dùng để tỉa trái, phải và cả 2 phía những kí tự được liệt kê trongchars
.Và tất nhiên, bạn cũng cần biết cách đọc file cho hợp lý nhất. Nó có thể đọc lần lượt từng dòng cũng như đọc hết luôn 1 lần; cộng thêm một vài methods rất hữu ích để làm việc này.
Bác nên tìm hiểu hai cái hàm mà bác @Luong_Quang_Manh nhắc tới.tìm hiểu xong bác khác tự biết phải làm ntn.
Cảm ơn các bác. Em thông não đc 1 ít rồi
@Luong_Quang_Manh @viducmanh các bác sẵn cho em hỏi.
Có cách nào để mình đọc nhiều file trong 1 thư mục cùng 1 lúc và lấy tất cả nội dung của các file đó lại thành 1 file duy nhất không?
Trong khả năng hiện tại của e chỉ làm được: đọc 1 file txt duy nhất, còn trong thư mục em chỉ liệt kê được tên của các file trong đó.
Đọc 1 file khác gì đọc nhiều file nhỉ. Nếu như bác biết tên file rồi thì cứ mở ra và đọc thôi, đâu có ai cấm đâu.
Cảm ơn @Luong_Quang_Manh Cách của bác khá khả quan.
Nhưng ý tưởng của em là: chỉ cần dẫn tới thư mục chứa các file và khai báo tên của file để chép nội dung từ các file có sẳn thì chương trình sẽ tạo ra 1 file mới với tên mình khai báo và file đó có chứa đầy đủ nội dung như trên. Bác giúp em xem điều đó có thể thực hiện được ko? Python có hổ trợ ko? (Có thể suy nghĩ của em đã hơi ATSM >.<)
Hỏi cứ như bị… hâm - xin lỗi vì quá nặng lời. Bạn nghĩ Python nó làm hết cho bạn thì bạn nằm ngửa ra mà xơi sung rụng à, nó chỉ cung cấp hàm còn cách làm bạn phải làm chứ.
Không rõ bạn có chịu tìm đọc hay không, đọc thư mục thì không riêng gì Python, ngôn ngữ lập trình khác đều dùng vòng lặp để “quét” hết thư mục đó và đọc từng file một, hết file này thì đọc sang file khác, bạn có thể viết một hàm để gom các việc đó với nhau và khi cần thì gọi hàm.
Đã đọc được từng file rồi thì ghép nó lại rồi chép ra file mới đặt tên theo ý bạn, nối với nhau là việc đơn giản. Nếu file quá to mới là vấn đề, lúc đó có thể là phải đọc rồi ghi rồi đóng rồi mở luân phiên hoặc tìm giải pháp, lúc đó mới phải hỏi.
Câu hỏi của bạn theo mình là bạn chẳng thèm đọc/ học cái gì cả, hỏi linh tinh.
@superthin như ở đầu topic, mình chỉ mới bắt đầu học gần đây. Dù sao đó cũng là lý do duy nhất mình có thể biện hộ cho mình.
Có thể đã đặt câu hỏi chẳng ra đâu và còn…Hâm hơn cả bạn nói. Vì lúc đầu mình cứ nghĩ làm như vậy sẽ được nên mình cứ đâm đầu tìm hiểu theo chiều hướng đó.
Thật sự cảm ơn bạn vì góp ý, mình sẽ tìm hiểu theo cách bạn chia sẻ. Vì có bị chửi mới từ từ khôn ra