てみ

2017-02-13 3 views
-2

私は、ファイルが存在し、それを作成し、そこにいくつかの行を記述していない場合は、ファイルおよびプリントすべての単一の行を開くためのプログラムを書いたてみ

ファイルがに存在しない場合、それは完璧に動作

あなたがfile=open(filename,'r')を設定し、コードのtryブロック、で>し、ファイルに書き込むが、それだけでファイルをお読みください

print("We will do some file operation") 
filename=input("enter a file name: ") 
try: 
file=open(filename,'r') 
print("File opened") 
for line in file: 
    print(line) 
filename.close() 
print("file cosed") 

except: 
file=open(filename,'w') 
print("File created") 
for i in range(15): 
    file.write("This is line %d\r\n"%(i)) 
print("write operation done") 
file.close() 
+1

質問を編集して正しくインデントしてください。 –

+1

'' try'ブロックの 'filename'に' open(filename、 'r') 'を' file'に割り当て、 'close()'を呼んでいますか? – Trelzevir

+0

yaファイルが存在しない場合は、ファイルを開いて読み込もうとしていますが、新しいファイルを作成して書き込む必要があります –

答えて

0

- ディレクトリ が、ファイルがある場合には、それはそれを読んでファイルを開きます。しかし、ブロックの最後には、filename.close()を試してみます。入力文字列ではなく、ファイルを閉じたいとします。

try: 
    file=open(filename,'r') 
    print("File opened") 
    for line in file: 
     print(line) 
    file.close()    #wrong variable name on this line 
    print("file cosed") 

あなたのインデントは、あなたが投稿、質問にも間違っている、それは上記のようになります。 ブランケット例外も理想的ではありません。

except IOError: 
関連する問題