|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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()
复制代码
|
|