|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1.用split(':')和split(':’)有区别吗?(冒号一个全角一个半角)
2.注释出少了1就报错为什么?
import pickle
def save_file(boy, girl, count):
file_name_boy = 'boy_' + str(count) + '.txt'
file_name_girl = 'girl_' + str(count) + '.txt'
boy_file = open(file_name_boy, 'wb') # 记得一定要加 b 吖
girl_file = open(file_name_girl, 'wb') # 记得一定要加 b 吖
pickle.dump(boy, boy_file)
pickle.dump(girl, girl_file)
boy_file.close()
girl_file.close()
def split_file(file_name):
count = 1
boy = []
girl = []
f = open(file_name)
for each_line in f:
if each_line[:6] != '======':
(role, line_spoken) = each_line.split(':', 1) #这里改为(role,line_spoken) = each_line.split(':')就报错呢?
if role == '小甲鱼':
boy.append(line_spoken)
if role == '小客服':
girl.append(line_spoken)
else:
save_file(boy, girl, count)
boy = []
girl = []
count += 1
save_file(boy, girl, count)
f.close()
split_file('record.txt')
本帖最后由 isdkz 于 2022-2-15 12:13 编辑
第一个问题:
全角和半角的冒号都不是同一个字符,肯定有区别呀
第二个问题:
第二个参数1是最多分割一次的意思,你以 : 分割但是你不止一个冒号的话,如果你不限定最多分割一次,就会分割出一个不止两个元素的列表,
而你左边只用了两个变量来解包,自然就报错了,你希望不加1这个参数而又只用两个变量接收的话可以加个打包*
- (role, *line_spoken) = each_line.split(':')
复制代码
|
|