鱼C论坛

 找回密码
 立即注册
查看: 1159|回复: 4

[已解决]python 字符串名称组合问题。。。晕 基础没打好

[复制链接]
发表于 2021-1-28 11:43:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

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

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

  21.         boy_file.close()
  22.         girl_file.close()

  23.         count+=1
  24.         
复制代码




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

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

谢谢热情的鱼油!!
最佳答案
2021-1-28 11:49:02


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

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

  1. file_name_boy = r'C:\Users\Administrator\Desktop\boy_' + str(count) + '.txt'  
  2. file_name_girl = r'C:\Users\Administrator\Desktop\girl_' + str(count) + '.txt'
复制代码


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-28 11:49:02 | 显示全部楼层    本楼为最佳答案   


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

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

  1. file_name_boy = r'C:\Users\Administrator\Desktop\boy_' + str(count) + '.txt'  
  2. file_name_girl = r'C:\Users\Administrator\Desktop\girl_' + str(count) + '.txt'
复制代码


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-28 16:37:10 | 显示全部楼层
本帖最后由 Daniel_Zhang 于 2021-1-28 16:38 编辑

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

  1. file_name_boy = r'C:\\Users\\Administrator\\Desktop\\boy_' + str(count) + '.txt'  
  2. file_name_girl = r'C:\\Users\\Administrator\\Desktop\\girl_' + str(count) + '.txt'
复制代码


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

感觉楼主还是不太熟练,第一行自己也写了 r,但是后面就没有,知其然而不知其所以然
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-28 19:43:48 | 显示全部楼层
Daniel_Zhang 发表于 2021-1-28 16:37
除了楼上大佬说的,还有另一种方法,就是使用转义符转义

谢谢  热心的鱼油!  学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-28 19:47:04 | 显示全部楼层
Twilight6 发表于 2021-1-28 11:49
因为字符串中部分字符是转义字符,所以导致报错

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

嗯嗯!谢谢你
我还是学的太浅了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-12 17:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表