0

我正在学习 python 并遇到了这种让我感到困惑的行为。

为什么这段代码会打印出括号和括起来的变量\r\n

def print_a_line(line_count, f):
    print(line_count, f.readline())

current_line = 1
print_a_line(current_line, current_file)

印刷:

(1, 'a1\r\n')

而这段代码:

def print_a_line(line_count, f):
    print(f.readline())

current_line = 1
print_a_line(current_line, current_file)

不带括号的打印:

a1
4

1 回答 1

2

在第一种情况下,当您print(line_count, f.readline())实际上说打印一个元组时,第一个元素是line_count,第二个元素是f.readline()f.readline()读取整行,带有行尾标记,在您的文件中它是'\r\n'。

在第二种情况下print (f.readline()),你只打印一个字符串,而不是一个包含字符串的元组,(如果你想要一个只包含一个字符串的元组,你应该使用(mystring,).

(anystring)符号允许您使用:

mystring = ('This is my '
            'very long string')

而不是print(line_count, f.readline())你应该使用

print (str(line_count) + f.readline())

或者

print ('%d %s'%(line_count, f.readline()))
于 2013-04-25T23:23:20.093 回答