老师可以帮忙检查一下代码吗?
来源:1-4 文件的创建与写入(下)
K26383477
2021-08-28 09:40:55
# coding:utf-8
import os
def create_package(path):
if os.path.exists(path):
raise Exception('%s 这个文件已存在不能创建' % path)
os.makedirs(path)
init_path = os.path.join(path, '__inint__.py')
f = open(init_path, 'w')
f.write('# coding:utf-8\n')
f.close()
if __name__ == '__main__':
current_path = os.getcwd()
path = os.path.join(current_path, 'text1')
create_package(path)
class Open(object):
def __init__(self, path, mode='w', is_return=True):
self.path = path
self.mode = mode
self.is_return = is_return
def write(self, message):
f = open(self.path, mode=self.mode)
if self.is_return:
if not message.endswith('\n'):
message = '%s\n' % message
try:
f.write(message)
except Exception as e:
print(e)
finally:
f.close()
if __name__ =='__main__':
current_path = os.getcwd()
# path = os.path.join(current_path, 'text1')
# create_package(path)
open_path = os.path.join(current_path, 'b.txt')
o = Open(open_path)
o.write('你好 小慕')
判断message后面是否有 \n 可以用
if not message.endswith('\n'):
message = '%s\n' % message
这样写对吗? 不用判断 else会出问题吗? 或者继续用异常捕获这个语法呢?
不知道如果存在 \n 我这样写会不会出问题!
1回答
同学,你好!同学思维清晰,判断message写法没有问题,关于程序的问题及建议如下:
1、一个Python文件中只能写一个if __name__ == "__main__"语句,可将代码放到两个Python文件中,或执行过程中注释掉一部分
2、创建python包,init拼写错误
3、写入到b.txt中的内容最后包含一行空行,if not message.endswith('\n')写法没有问题,如果message不是以\n结尾,就执行if中的message = '%s\n' % message语句,为message添加\n结尾
4、如果message本身是以\n结尾的,那就不会执行if not message.endswith('\n')语句,直接执行f.write(message),写入到b.txt中的内容最后一行也会空行,因此这里不用else是可以的,不会出问题,文件写入使用try捕获异常写法正确
5、建议同学在编写代码过程中适当的添加注释,养成良好的编程习惯
祝:学习愉快!
相似问题