2012-08-06 24 views
6

Làm cách nào để tạo đối tượng tệp giả trong Python có chứa văn bản? Tôi đang cố gắng để viết đơn vị kiểm tra cho một phương pháp mà có trong một đối tượng tập tin và lấy văn bản thông qua readlines() sau đó làm một số thao tác văn bản. Xin lưu ý rằng tôi không thể tạo tệp thực trên hệ thống tệp. Giải pháp phải tương thích với Python 2.7.3.Cách tạo tệp văn bản giả trong Python

Trả lời

25

Đây chính xác là những gì StringIO/cStringIO (được đổi tên thành io.StringIO bằng Python 3) dành cho.

+0

+1 Tôi vừa mới đăng bài đó! –

+0

Giải pháp phải tương thích với Python 2.7.3 – user1454693

+4

@ user1454693 Phiên bản StringIO là ... hoặc bạn đang sử dụng 2.7.3 khác với phần còn lại của thế giới? –

2

Hoặc bạn có thể thực hiện nó cho mình khá dễ dàng đặc biệt là kể từ khi tất cả bạn cần là readlines():

def FileSpoof: 
    def __init__(self,my_text): 
     self.my_text = my_text 
    def readlines(self): 
     return self.my_text.splitlines() 

sau đó chỉ cần gọi nó thích:

somefake = FileSpoof("This is a bunch\nOf Text!") 
print somefake.readlines() 

Điều đó nói rằng câu trả lời khác có lẽ chính xác hơn.

Các vấn đề liên quan