tianyajuanke 发表于 2021-3-26 16:06:22

为啥我的程序输出文本的时候有空行???求大佬解答

本帖最后由 tianyajuanke 于 2021-3-26 16:21 编辑

def read_file(get_file,show_line):
    g_f = open(get_file)
    show_line = int(show_line)
    print('文件'+ get_file + '的前' + str(show_line)+'行的内容如下:')
    while show_line:
      print('%s\n' % g_f.readline())
      show_line -= 1

    g_f.close()
get_file = input('请输入要打开的文件(C:\\test.txt):')
show_line = input('请输入需要显示该文件前几行:')
read_file(get_file,show_line)




上面是我的代码,文本样式和输出结果

讲道理,我的文本中间并没有空行,而我的程序也没有设置多余的空行,

所以,为什么输出结果会有空行,

求大佬解惑!!!Orz

-----------以下是新添加内容---------
我把print('%s\n' % g_f.readline())改成了         print(g_f.readline())之后,
原先空两行,现在变成空一行了
我也是醉了
为啥啊???

qq1151985918 发表于 2021-3-26 16:13:42

本帖最后由 qq1151985918 于 2021-3-26 16:15 编辑

print('%s\n' % g_f.readline())

不是你自己加的 "\n" 么

tianyajuanke 发表于 2021-3-26 16:19:11

qq1151985918 发表于 2021-3-26 16:13
print('%s\n' % g_f.readline())

不是你自己加的 "\n" 么

但是神奇的是,我把print('%s\n' % g_f.readline())改成   print(g_f.readline())之后
还是会有一个空行
只是之前是空两行
现在变成了空一行...
我也是醉了

qq1151985918 发表于 2021-3-26 16:27:10

tianyajuanke 发表于 2021-3-26 16:19
但是神奇的是,我把print('%s\n' % g_f.readline())改成   print(g_f.readline())之后
还是会有一个空 ...

那是因为读取文本的方法g_f.readline()所读取的内容最后一个就是 换行 "\n"
并且 print 的 end 参数 默认为end = "\n"
所以重复了

你把   print(g_f.readline())

改成 print(g_f.readline()[:-1])
或者print(g_f.readline(),end ='')
就好了

tianyajuanke 发表于 2021-3-26 16:29:04

qq1151985918 发表于 2021-3-26 16:27
那是因为读取文本的方法g_f.readline()所读取的内容最后一个就是 换行 "\n"
并且 print 的 end 参 ...

哦,原来是这样啊,谢谢大佬,谢谢大佬~
页: [1]
查看完整版本: 为啥我的程序输出文本的时候有空行???求大佬解答