2010-05-03 26 views
12

Tôi đang viết một ứng dụng python đơn giản cho Linux (maemo). Tuy nhiên tôi nhận SyntaxError: invalid syntax trên dòng 23: with open(file,'w') as fileh:Cú pháp không hợp lệ của Python với câu lệnh "with"

Mã này có thể được nhìn thấy ở đây: http://pastebin.com/MPxfrsAp

tôi không thể tìm ra những gì là sai với mã của tôi, tôi mới để trăn và "với" tuyên bố. Vì vậy, những gì gây ra mã này để lỗi, và làm thế nào tôi có thể sửa chữa nó? Có gì sai với câu lệnh "with" không?

Cảm ơn!

+0

Bạn đang sử dụng phiên bản Python nào? –

+0

2.5 trong trường hợp này. – lanrat

Trả lời

20

Rất có thể, bạn đang sử dụng phiên bản cũ hơn của Python không hỗ trợ tuyên bố with. Dưới đây là cách thực hiện tương tự mà không cần sử dụng with:

fileh = open(file, 'w') 
try: 
    # Do things with fileh here 
finally: 
    fileh.close() 
+0

Điều này làm việc, cảm ơn! Tuy nhiên bây giờ tôi đang gặp vấn đề với chức năng mở, tệp không tồn tại. Tôi muốn nó tạo tệp nếu nó không tồn tại. Tôi nên làm như thế nào? (Tôi đã ấn tượng rằng chức năng mở có thể tạo tệp quá) – lanrat

+0

@mrlanrat: hiển thị mã của bạn và thông báo lỗi dẫn bạn tin rằng sự cố là một tệp không tồn tại –

+0

Vâng, tệp không tồn tại (Tôi biết điều đó) và lỗi tôi nhận được là: 'fileh = mở (tệp, 'w') IOError: [Errno 2] Không có tệp hoặc thư mục nào như vậy: '~./AppCounter'' – lanrat

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