| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 全桥整流 于 2021-9-12 15:59 编辑  
- word = input('write name: ')
 
 - nember=input('write a nember(格式是 4:13 酱子): ')
 
 - f = open(word,mode="r",encoding="cp936")
 
 - print('文件 %s 的 %s 行显示如下'%(word,nember))
 
 - (a,b) = nember.split(':')
 
 - if a=='' and b=='' :
 
 -     print(f)
 
 - elif b == '':
 
 -     a = int(a)
 
 -     for i in range(a):
 
 -         f.readline()
 
 -     print(f)
 
 - elif a=='':
 
 -     b = int(b)
 
 -     for i in range(b):
 
 -         print(f.readline)
 
 - else:
 
 -     a= int(a)
 
 -     b= int(b)
 
 -     q=b-a
 
 -     for i in range(a):
 
 -         f.readline()
 
  
-         for t in range(q):
 
 -             print(f.readline())
 
 - f.close()
 
 -         
 
 -         
 
 -     
 
 -     
 
  
 
  复制代码 
 
为什么我输入:的时候会返回 
 
write name: 123.txt 
write a nember(格式是 4:13 酱子): : 
文件 123.txt 的 : 行显示如下 
<_io.TextIOWrapper name='123.txt' mode='r' encoding='cp936'> 
 
这个东西呢?为什么打印不出整个文件,以及后面编程的时候怎么避免这个问题? 
 
谢谢
我这没问题,运行了下你的代码,发现好多问题 
1.(a,b) = nember.split(':') 要转换成整型,split()函数返回的是字符串,下面的range(a) 和 range(b) 会报错 
2.文件读取的写法不对,readline 没写()
 - word = input('write name: ')
 
 - nember = input('write a nember(格式是 4:13 酱子): ')
 
 - f = open(word, mode="r", encoding="UTF-8")
 
 - print('文件 %s 的 %s 行显示如下' % (word, nember))
 
 - (a, b) = nember.split(':')
 
 - if a == '' and b == '':
 
 -     print(f.read())
 
 - elif a != '' and b == '':
 
 -     a = int(a)
 
 -     for i in range(a):
 
 -         f.readline()
 
 -     print(f)
 
 - elif a == '' and b != '':
 
 -     b = int(b)
 
 -     for i in range(b):
 
 -         print(f.readline())
 
 - else:
 
 -     a = int(a)
 
 -     b = int(b)
 
 -     for i in range(a):
 
 -         f.readline()
 
 -         for t in range(int(b-a)):
 
 -             print(f.readline())
 
 - f.close()
 
  复制代码 
 
 
 |   
 
 
 
 |