2011-02-06 32 views
46

Trong vỏ Unix tôi có thể làm điều này để trống một tập tin:Làm thế nào để có sản phẩm nào một tập tin sử dụng Python

cd /the/file/directory/ 
:> thefile.ext 

Làm thế nào tôi sẽ đi về việc này bằng Python?

os.system cách này, tôi sẽ không biết làm thế nào vì tôi sẽ phải gửi 2 hành động sau mỗi khác, tức là cd và sau đó là :>.

+1

Không nên mở tệp bằng một chế độ "w" làm điều này, tức là 'mở ("/the/path/thefile.ext "," w ")'? –

+2

bạn đang trả lời câu hỏi với một câu hỏi khác? – Adergaard

+11

Không phải là việc sử dụng một câu hỏi thay vì một tuyên bố như một thiết bị tu từ để chỉ ra một mức độ không chắc chắn khá phổ biến? – DSM

Trả lời

119

Mở một tập tin tạo ra nó và (trừ khi append ('a') được thiết lập) ghi đè nó với emptyness, như thế này:

open(filename, 'w').close() 
+0

Nên có một vấn đề nếu tập tin được liên tục ghi vào (nó là một tập tin nhật ký được ghi vào mỗi giây) – Adergaard

+0

@Adergaard thường không. Nếu tệp đã tồn tại, tệp đó sẽ không được tạo, nhưng cùng một tệp sẽ được sử dụng và cắt bớt. Nếu quá trình đăng nhập tiếp tục ghi vào tập tin, nó cũng sẽ xuất hiện trong tập tin đó. Tuy nhiên, kết hợp với các hoạt động tập tin dựa trên 'tìm kiếm' hoặc' cho biết', những điều kỳ lạ có thể xảy ra. – rumpel

+0

lạ, điều này dường như không phải là trường hợp. –

17

hình thức luân phiên của câu trả lời bằng cách @rumpel

with open(filename, 'w'): pass 
Các vấn đề liên quan