如果另一个函数未返回None,则仅调用函数

时间:2018-05-13 20:18:18

标签: python python-3.x function exception-handling

所以我正在进行一项任务,要求我处理两个单独的python文件,一个使用我的主代码,另一个使用两个函数,一个用于加密文件,另一个用于解密文件。这就是主代码文件的样子:

import sys

sys.path.append('C:\\Users\\gabri\\Desktop\\CS\\Assignment 7')

from assgn7 import encrypt_file, decrypt_file

file_in = 'Sample.txt'
print('Encrypting input file', file_in)
enc_dict = encrypt_file(file_in)

print('-' * 20)

print('Decrypting input file', file_in)
decrypt_file(enc_dict, file_in + '.enc')

我应修改此代码,以便仅在decrypt_file()未返回encrypt_file()时调用None

我该如何解决这个问题?我在考虑使用异常处理,但不知道这需要捕获什么样的错误。

2 个答案:

答案 0 :(得分:1)

只需检查返回的对象

import sys

sys.path.append('C:\\Users\\gabri\\Desktop\\CS\\Assignment 7')

from assgn7 import encrypt_file, decrypt_file

file_in = 'Sample.txt'
print('Encrypting input file', file_in)
enc_dict = encrypt_file(file_in)
if enc_dict is not None:
    print('-' * 20)
    print('Decrypting input file', file_in)
    decrypt_file(enc_dict, file_in + '.enc')

答案 1 :(得分:0)

decrypt_file

,如果enc_dict为无,则可以终止函数。

def decrypt_file(enc_dict, filein):
   if enc_dict is None:
      return 
   < rest of code >