我知道这个问题的其他解决方案,such as using ^{},但是首先我想了解为什么我的代码是,或者不是一个好的解决方案。在
我试着打开两个CSV文件,一个用来读,一个用来写。只有当两个文件都成功打开时,脚本才应该继续。我的代码似乎可以实现这一点,但我想知道以下几点:为什么是Python?在
从helper函数中退出脚本是否是一种不好的做法?在
原代码:input_file = 'in_file.csv'
output_file = 'out_file.csv'
def open_file(file, mode):
try:
fp = open(file, mode)
except IOError as e:
print "Error: cannot open {0}".format(file)
if e.errno == errno.EACCES:
print "\tPermission denied."
print "\tError message: {0}".format(e)
sys.exit()
# Not a permission error.
print "\tDoes file exist?"
print "\tError message: {0}".format(e)
sys.exit()
else:
return fp
def main():
# Open files in binary read/write mode for platform independence.
out_csv = open_file(output_file, 'wb')
in_csv = open_file(input_file, 'rb')
# Do stuff with the files
#
# with out_csv:
#
# writer = csv.writer(out_csv, delimiter='\t')
#
# with in_csv:
#
# reader = csv.reader(in_csv, delimiter='\t')
# for row in reader:
if __name__ == '__main__':
main()
编辑:使用Python2.7.2
编辑:代码草案:
^{pr2}$
我的草稿代码在try语句中有点臃肿(想象一下还有100行代码)。有更好的方法吗?在