如何使用Python只获取文件的第一行作为字符串?
使用.readline()方法:
with open('myfile.txt') as f:
first_line = f.readline()
注意,除非它是文件中唯一的一行,否则f.r edline()返回的字符串将包含一个尾随换行符。你可能希望使用
with open('myfile.txt') as f:
first_line = f.readline().strip('\n')
而是删除换行符。
这里有很多其他的答案,但准确地回答你问的问题(在@MarkAmery编辑了原始问题并改变了意思之前):
>>> f = open('myfile.txt')
>>> data = f.read()
>>> # I'm assuming you had the above before asking the question
>>> first_line = data.split('\n', 1)[0]
换句话说,如果您已经读取了文件(如您所说),并且内存中有一大块数据,那么为了有效地从其中获取第一行,只需对换行符执行split(),并从结果列表中获取第一个元素。
注意,这并不包括行末的\n字符,但我假设您根本不需要它(单行文件甚至可能没有)。还要注意的是,尽管它非常简短和快速,但它确实复制了数据,所以对于一个非常大的内存块,您可能不会认为它是“有效的”。一如既往,这取决于……
如果你想读取file。txt
line1 helloworld
import linecache
# read first line
print(linecache.getline('file.txt'), 1)
>helloworld
推荐文章
- 实例属性attribute_name定义在__init__之外
- 如何获取在Python中捕获的异常的名称?
- 第一次出现的值大于现有值的Numpy
- 如何从Python函数中返回两个值?
- 前一个月的Python日期
- Python中方括号括起来的列表和圆括号括起来的列表有什么区别?
- Python日志记录不输出任何东西
- 每n秒运行特定代码
- SQLAlchemy是否有与Django的get_or_create等价的函数?
- 如何将python datetime转换为字符串,具有可读格式的日期?
- 美丽的汤和提取div及其内容的ID
- 在Python中重置生成器对象
- 用Python构建最小的插件架构
- model.eval()在pytorch中做什么?
- Tensorflow 2.0:模块“Tensorflow”没有属性“Session”