鱼C论坛

 找回密码
 立即注册
查看: 1456|回复: 7

[已解决]怎么print文件里的某几行字符

[复制链接]
发表于 2018-4-10 08:30:33 | 显示全部楼层 |阅读模式

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

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

x
例如,想输出文件中第三行第五个字符开始,到这个文件中第二十行第九个字符结束的一串字符,print成一行怎么写?print成换行(换行就以10个字符为一行换行吧)又怎么写呢?
(原文件也是十个字符一行的)    谢谢大佬们help help
最佳答案
2018-4-11 18:01:29
我也是初学者,试着写了个,看看符合你的要求不?

  1. f1 = open('file1.txt', 'r')
  2. lines = f1.readlines()

  3. oneline = lines[2][5:].strip('\n')
  4. for i in range(3, 20):
  5.     oneline += lines[i].strip('\n')
  6. oneline += lines[20][:10].strip('\n')

  7. print(oneline)  # 输出一行
  8. for j in range(0, len(oneline), 10):   # 10个字符一行输出                
  9.     print(oneline[j:j+10])

  10. f1.close()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-10 09:07:45 | 显示全部楼层
print有一个参数end,举例
print('abc', end=' ')
表示后面的分隔符为空格

你可以根据你的需求配合循环和上面的参数一起达到目的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-10 09:32:52 | 显示全部楼层
我觉得可以写个字典D。行号为key值,每一行的内容为value值。首行字符串D[3][5:10]+中间若干行字符串(for循环)+尾行字符串D[20][9:10]      具体怎么编写我不会,语句写不好,还望大佬码代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-10 09:34:00 | 显示全部楼层
你也可以試試  三引號   print( '''      ''') ,在小甲魚零基礎003講大概第17分鐘那有介紹,可以看看是不是你要的答案。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-10 09:40:31 | 显示全部楼层
我能够想到的就是用split(‘\n’)把字符串转换成列表,然后再打印,不知道对不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-10 16:27:15 | 显示全部楼层
file:///D:/YDCloud/1309518742@qq.com/cb98db350bbd42bbb27d9dc257d01886/clipboard.png
今天上课刚写的小代码,提取给的信息里需要的内容,被操作文件如图,你可以参考一下
  1. do = open('test.txt', 'r')
  2. do.seek(2)
  3. line = do.readlines()
  4. content = [line.strip() for line in line]
  5. # print(content)

  6. do.close()


  7. dic = {}
  8. for st in content:
  9.     used = st.split('\t', 2)
  10.     # print(used)               
  11.     cut = used[1].split('/')  
  12.     # print(cut[0])
  13.     if used[0] == 'unknown':
  14.         continue
  15.     elif cut[0] not in dic.keys():
  16.         dic.setdefault(cut[0], used[0])
  17.     else:
  18.         continue

  19.     print(dic)
复制代码



File

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

使用道具 举报

 楼主| 发表于 2018-4-10 17:07:55 From FishC Mobile | 显示全部楼层
希望有大佬可以帮忙按我要求码好代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-11 18:01:29 | 显示全部楼层    本楼为最佳答案   
我也是初学者,试着写了个,看看符合你的要求不?

  1. f1 = open('file1.txt', 'r')
  2. lines = f1.readlines()

  3. oneline = lines[2][5:].strip('\n')
  4. for i in range(3, 20):
  5.     oneline += lines[i].strip('\n')
  6. oneline += lines[20][:10].strip('\n')

  7. print(oneline)  # 输出一行
  8. for j in range(0, len(oneline), 10):   # 10个字符一行输出                
  9.     print(oneline[j:j+10])

  10. f1.close()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 01:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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