Python readline().strip()的用途是什么? readline().strip()的用途是什么(尤其是在下面的代码中)?
上下文:Python readline().strip()的用途是什么? readline().strip()的用途是什么(尤其是在下面的代码中)?,python,list,for-loop,readline,strip,Python,List,For Loop,Readline,Strip,上下文: 我正在查看以下代码: op = open('encyin.txt', 'r') n, q = op.readline().split() n = int(n) q = int(q) dic = {} for i in range(1, n + 1): dic[str(i)]=(op.readline().strip()) 并试图解释它 我的解释: 启动非常简单-它在读取模式下打开一个文件encyin.txt。它从行中提取输入-n和p,将两个输入分开。然后将它们分类为整
我正在查看以下代码:
op = open('encyin.txt', 'r')
n, q = op.readline().split()
n = int(n)
q = int(q)
dic = {}
for i in range(1, n + 1):
dic[str(i)]=(op.readline().strip())
并试图解释它
我的解释:
启动非常简单-它在读取模式下打开一个文件
encyin.txt
。它从行中提取输入-n
和p
,将两个输入分开。然后将它们分类为整数,并创建一个空列表dict
从这里开始,将使用for
循环
但最后一行是什么意思?我不熟悉(a)readline().strip()
和(b)这如何影响列表dict
和输入值:
例如 如果
ency.txt
为以下内容:
6 5
1151
723
1321
815
780
931
第二行向下的其他数字会发生什么变化?
readline().split
是否为它们分配了行号?它是否将其添加到列表dict
,有点像.append
顶部代码的最后一行是什么意思?我不熟悉(a)
readline().strip()
和(b)这是如何影响listdict
和输入值的:在文本文件中,有这些称为空白字符的东西。通常,这些都是您要删除的空格或输入('\n')。strip()帮助您删除这些空白字符
如果您在阅读数字后打印这些数字,并且不进行剥离,您将得到:
number1
number2
number3
...
因为您尚未删除隐藏的“enter”字符。.readline()
从文件中读取一行。结果包括一个尾随的'\n'
.strip()
从字符串中删除所有前导和尾随空格(例如上面提到的'\n'
)
因此,最后一行代码dic[str(i)]=(op.readline().strip())执行以下操作:
6 5
1151
723
1321
815
780
931
Danni Loss
Shani Amari
Michele favarotti
readline()将返回第一行:
Danni Loss\n
然后使用strip()删除字符串开头和结尾的所有空字符,因此您将得到:
Danni Loss
当阅读python脚本时,您遇到一些不知道的函数,您的目标应该首先是在上下文之外理解函数,然后您可以了解它们在上下文中做什么 理解内置/标准库函数的第一个调用端口应该是。当文档失败时,请转到其他来源(有很多) 在本例中,您想知道
op.readline()
的作用。那么,什么是op
?我将转到,并看到它创建了一个,它告诉您实际使用的实现在中。在这里,我们可以在页面中搜索
关于readline
,文档有什么要说的
从流中读取并返回一行
在这里,我假设,因为它是一个文本文件,“流中的一行”是一个字符串对象(但您始终可以打开python解释器进行检查),然后查找,它说:
返回删除前导字符和尾随字符的字符串副本。chars参数是一个字符串,指定要删除的字符集。如果省略或无,chars参数默认为删除空白
现在把它们放在一起。它们调用(op.readline().strip())
- 我们知道
是一个使用op
io
的readline从流中读取一行io
不带参数调用会删除some\u string.strip()
some\u string
例如,如果你知道某件事是一本
词典,但你不知道什么是词典,那么你应该先在文档中搜索一些信息,并尝试理解它在上下文之外的作用。如果你想做类似(int(dic[1])的事情,这将产生一个错误,因为该行还将包含一个\n基本上用于删除代码中任何不需要的内容,以便使用实际值。那么dict[str(i)]做什么呢?这有助于将字典的i键分配给数字。字典就像列表,除了没有索引之外,它们还有键,键也可以是字符串。哦,那么dic是一个字典,而不是一个列表?问题是关于strip
,而不是split
我不熟悉字典,“键”是什么意思?@global05字典将一组键映射到值。键是唯一的,这就是访问存储值的方式。例如,在上述代码中,dic['5']
将返回'780'
。有关更多信息,请参阅官方文档:。如果您想理解python代码,我强烈建议您这样做。@global05研究词典??好主意-可以。“删除所有空白”-仅在字符串的开头和结尾