求解 怎么改
f = open('D:\\record.txt')boy = []
girl = []
count = 1
for each_line in f:
if each_line[:6] != '===================':
(role,line_spoken) = each_line.split(':',1)
if role =='小甲鱼':
boy.append(line_spoken)
if role =='小客服':
girl.append(line_spoken)
#这里进行字符串分割操作
else:
#文件名分别保存操作
file_name_boy = 'boy_' + str(count) + '.txt'
file_name_girl = 'girl_' + str(count) + '.txt'
boy_file = open(file_name_boy,'w')
girl_file = open(file_name_girl,'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file_close()
girl_file_close()
boy=[]
girl=[]
count += 1
file_name_boy = 'boy_' + str(count) + '.txt'
file_name_girl = 'girl_' + str(count) + '.txt'
boy_file = open(file_name_boy,'w')
girl_file = open(file_name_girl,'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file_close()
girl_file_close()
f.close()
Traceback (most recent call last):
File "C:/Users/john/Desktop/python练习/29练习1.py", line 9, in <module>
(role,line_spoken) = each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
文件内容问题
把文件内容改成和小甲鱼一样的 if each_line[:6] != '===================':
这一行右边引号中的 =改为6个 qiuyouzhi 发表于 2020-3-24 13:59
文件内容问题
把文件内容改成和小甲鱼一样的
内容是一样的 论坛下载的 BngThea 发表于 2020-3-24 14:00
if each_line[:6] != '===================':
这一行右边引号中的 =改为6个
试了还是不行 CD84380973 发表于 2020-3-24 14:02
内容是一样的 论坛下载的
呃呃呃
最好复制内容 你的程序错误不在这一行。而在上一行
if each_line[:6] != '===================':
判断条件中,左侧写的是each_line[:6],但是右侧却有这么一长串等号,右侧应该是六个等号'======'
CD84380973 发表于 2020-3-24 14:03
试了还是不行
你在这个if前用print打印一下each_line,看看读取的对不对 CD84380973 发表于 2020-3-24 14:03
试了还是不行
引号中等号个数的问题解决后,若问题还是存在,那就应该是你程序中 each_line.split(':',1) 这里面的冒号与文件中的冒号不一样。文件中是中文的冒号,这里就要用中文的冒号,文件中是英文的冒号,这里就一个用英文的冒号。
而且文件中的各个冒号都应该检查一遍。 sunrise085 发表于 2020-3-24 14:04
你的程序错误不在这一行。而在上一行
if each_line[:6] != '===================':
判断条件中,左侧写的 ...
从文章中复制了6个=号过来还是不行 CD84380973 发表于 2020-3-24 14:12
从文章中复制了6个=号过来还是不行
引号中等号个数的问题解决后,若问题还是存在,那就应该是你程序中 each_line.split(':',1) 这里面的冒号与文件中的冒号不一样。
文件中是中文的冒号,这里就要用中文的冒号,文件中是英文的冒号,这里就一个用英文的冒号。
而且文件中的各个冒号都应该检查一遍。 BngThea 发表于 2020-3-24 14:06
你在这个if前用print打印一下each_line,看看读取的对不对
可以打印 sunrise085 发表于 2020-3-24 14:09
引号中等号个数的问题解决后,若问题还是存在,那就应该是你程序中 each_line.split(':',1) 这里面的 ...
按照你说的修改了 还是报错 还是红字一样的 ValueError: not enough values to unpack
提示语说在第九行出错了,你就去找第九行或者前面的几行,他说值错误,没有足够的值……
就是说你的条件判断有问题。左边和右边的元素不等,把右边等号改成左边一样的个数就可以了
CD84380973 发表于 2020-3-24 14:15
按照你说的修改了 还是报错 还是红字一样的
Traceback (most recent call last):
File "C:/Users/john/Desktop/python练习/29练习1.py", line 26, in <module>
boy_file_close()
NameError: name 'boy_file_close' is not defined xcsummer 发表于 2020-3-24 14:16
ValueError: not enough values to unpack
提示语说在第九行出错了,你就去找第九行或者前面的几行,他说 ...
Traceback (most recent call last):
File "C:/Users/john/Desktop/python练习/29练习1.py", line 26, in <module>
boy_file_close()
NameError: name 'boy_file_close' is not defined CD84380973 发表于 2020-3-24 14:15
按照你说的修改了 还是报错 还是红字一样的
成功了 但是结果生成到哪里去了? CD84380973 发表于 2020-3-24 14:18
Traceback (most recent call last):
File "C:/Users/john/Desktop/python练习/29练习1.py", line 26, ...
这里应该是boy_file.close()
你把.写成下划线了 sunrise085 发表于 2020-3-24 14:20
这里应该是boy_file.close()
你把.写成下划线了
成功了 但是结果生成到哪里去了? CD84380973 发表于 2020-3-24 14:20
成功了 但是结果生成到哪里去了?
你问的是新生成的文件吗?
和你的程序在一个路径下。
C:/Users/john/Desktop/python练习/
页:
[1]
2