香喷喷的咸鱼 发表于 2021-1-28 11:43:16

python 字符串名称组合问题。。。晕 基础没打好

f1=open(r'C:\Users\Administrator\Desktop\record.txt')
boy=[]
girl=[]
count=1
for each_line in f1:
    if each_line[:7] !='=======':               #大框架先分开    (整体,以下是局部)
      (name,talk)=each_line.split(':',1)    #一定要是英文的:   否则报错

      
      if name =='小甲鱼':
            boy.append(talk)             #append 括号内可以是字符串名称添加的元素即为一个字符串
      if name =='小客服':
            girl.append(talk)
    else:
      #分别保存为一个文件      'w'写入
      file_name_boy='C:\Users\Administrator\Desktop\boy_'+str(count)+'.txt'   #创建外界文件名与内部文件名 联系
      file_name_girl='C:\Users\Administrator\Desktop\girl_'+str(count)+'.txt'

      boy_file=open(file_name_boy,'w')
      girl_file=open(file_name_girl,'w')#'C:\Users\Administrator\Desktop'+'\\'+file_name_girl错误!!!

      boy_file.writelines(boy)   #write 和writelines 的区别    后者字符串序列
      girl_file.writelines(girl)

      boy_file.close()
      girl_file.close()

      count+=1
      



在保存文件那里不知道怎么改了   请忽略我的注释{:10_266:} {:10_266:}

+字符串的名称+    怎么就是不对呢

谢谢热情的鱼油!!

Twilight6 发表于 2021-1-28 11:49:02



因为字符串中部分字符是转义字符,所以导致报错

在字符串前面加个 r 就可以,参考代码:

file_name_boy = r'C:\Users\Administrator\Desktop\boy_' + str(count) + '.txt'
file_name_girl = r'C:\Users\Administrator\Desktop\girl_' + str(count) + '.txt'

Daniel_Zhang 发表于 2021-1-28 16:37:10

本帖最后由 Daniel_Zhang 于 2021-1-28 16:38 编辑

除了楼上大佬说的,还有另一种方法,就是使用转义符转义

file_name_boy = r'C:\\Users\\Administrator\\Desktop\\boy_' + str(count) + '.txt'
file_name_girl = r'C:\\Users\\Administrator\\Desktop\\girl_' + str(count) + '.txt'

这种就比较麻烦了,每次遇到落单的 '\' 就需要用另外一个 反斜杠 '\' 进行转义,否则编译时将会被自动视为转义符而非反斜杠

感觉楼主还是不太熟练,第一行自己也写了 r,但是后面就没有,知其然而不知其所以然

香喷喷的咸鱼 发表于 2021-1-28 19:43:48

Daniel_Zhang 发表于 2021-1-28 16:37
除了楼上大佬说的,还有另一种方法,就是使用转义符转义




谢谢热心的鱼油!学到了

香喷喷的咸鱼 发表于 2021-1-28 19:47:04

Twilight6 发表于 2021-1-28 11:49
因为字符串中部分字符是转义字符,所以导致报错

在字符串前面加个 r 就可以,参考代码:

嗯嗯!谢谢你
我还是学的太浅了
页: [1]
查看完整版本: python 字符串名称组合问题。。。晕 基础没打好