2017-03-23 6 views
-1

tryスイート内で作成された変数のtryスイートで構文エラーが発生します。 tryスイートで作成されたexceptスイートの変数を呼び出すのは間違っていますか?これは、その変数の構文エラーがあると思う唯一の理由です。例外スイートのPython構文エラー

try: 
file_name = input('Enter the encrypted file: ') 
encryptionKey = open(input('Enter the file name for theencryptionkey: '),'r') 
anEncryptedLine = open(file_name) 
decrypted_file = open(decrypted_file.txt,'a+') 
decrypted_str = '' 
for i in decrypted_file: 
    decrptyed_line =substitutionDecrypt(i) 
    print(decrypted_line, file=decrypted_file.txt) 

except IOError: 
print('The file 'file_name'doesn\'nt exist') 

構文エラーが最後の行に変数 'file_nameに' 上に表示される

おかげ

+0

エラーは何ですか? –

答えて

0

Pythonは、この種の構文をサポートしていない、あなたが使用する必要があります。

try: 
    file_name = input('Enter the encrypted file: ') 
    encryptionKey = open(input('Enter the file name for theencryptionkey: '),'r') 
    anEncryptedLine = open(file_name) 
    decrypted_file = open(decrypted_file.txt,'a+') 
    decrypted_str = '' 
    for i in decrypted_file: 
     decrptyed_line =substitutionDecrypt(i) 
     print(decrypted_line, file=decrypted_file.txt) 
except IOError: 
    print('The file \'%s\'doesn\'nt exist' % file_name) 
    # or print('The file \'{}\'doesn\'nt exist'.format(file_name)) 

Python 3.6の場合:

print(f'The file \'{file_name}\'doesn\'nt exist') 
+0

私はPython 3.6でその正確な印刷構文を使用していると確信しています。私の主な印刷方法。 –

+0

@ juggy_crisp:これは文字列リテラルでのみ有効です。非リテラル式は、書式設定/補間または連結を使用して文字列に正しく組み立てる必要があります。 –

0

文字列連結を使用することもできます。

print("The file" + " " + file_name + " " + "doesn\'t exist")