首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >打印文件的内容并计算文件中的行数- Python

打印文件的内容并计算文件中的行数- Python
EN

Stack Overflow用户
提问于 2018-10-05 17:59:56
回答 3查看 373关注 0票数 2

使用python对编程课程进行介绍。

我们本周的任务是创建一个名为“randomnum.txt”的文本文件,并使用python脚本将其打印到其中。我成功地创建了该文件,但我遇到了分配的第二部分,以打印文件的内容并计算.txt中的数字(行)数。

我已经能够打印内容或数行数,但从来没有两者兼而有之。我在Python方面很差,我想得到一些帮助。

代码语言:javascript
运行
AI代码解释
复制
with open ('randomnum.txt','r') as random_numbers:
    num_nums = 0  
    contents = random_numbers.read()
    for lines in random_numbers:
        num_nums += 1
    print('List of random numbers in randomnum.txt')
    print(contents)
    print('Random number count: ', num_nums) 

这样它就给了我一个0的随机数计数。

任何帮助都是非常感谢的!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-05 18:03:32

这是一个很好的问题,因为您正在观察只能读取一次文件对象的行为。一旦您调用random_numbers.read(),您就不能重复该操作。

我建议您不要使用.read(),而是使用.readlines()。它逐行读取文件,而不是一次读取整个文件。在遍历每一行时,将一条添加到计数器中,并打印当前行:

代码语言:javascript
运行
AI代码解释
复制
with open("file.txt", "r") as myfile:
    total = 0
    for line in myfile.readlines():
        print(line, end="")
        total += 1
    print("Total: " + str(total))

注意我传递给打印(end="")的第二个参数。这是因为默认情况下,print会添加一个新行,但是由于文件在行尾已经有新行,所以您将打印两行新行。end=""停止print打印尾换行符的行为。

票数 1
EN

Stack Overflow用户

发布于 2018-10-05 18:13:22

尝试这个readlines,然后使用map进行剥离,使用它的方法描述符,然后只使用len获取长度:

代码语言:javascript
运行
AI代码解释
复制
with open ('randomnum.txt','r') as random_numbers:
    l=random_numbers.readlines()
    print('List of random numbers in randomnum.txt')
    print(''.join(map(str.rstrip,l)))
    print('Random number count: ', len(l))

使用randomnum.txt输出的代码如下:

代码语言:javascript
运行
AI代码解释
复制
1
2
3
4
5
6

输出:

代码语言:javascript
运行
AI代码解释
复制
List of random numbers in randomnum.txt
123456
Random number count:  6
票数 0
EN

Stack Overflow用户

发布于 2018-10-05 18:03:13

调用.read()和使用for ... in ...迭代都会消耗文件的内容。除非在两者之间调用.seek(0),否则不能两者兼得。或者,与调用.read()不同,您可以捕获for循环中的行(可能切换到.readlines()),然后不必担心它。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52675084

复制
相关文章
Python 计算文件中总行数
计算文件的行数:最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了:
王瑞MVP
2022/12/28
7760
PHP案例:计算文件中的行数
作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 代码 效果 代码 <?php $lines=0;//初始行数为0行 if($fh=fopen('
贵哥的编程之路
2022/10/04
1.6K0
PHP案例:计算文件中的行数
读取excel文件并打印(python)
声明:本文为原创,作者为 对弈,转载时请保留本声明及附带文章链接:http://www.duiyi.xyz/c%e5%ae%9e%e7%8e%b0%e9%9b%b7%e9%9c%86%e6%88%98%e6%9c%ba-70/
对弈
2019/09/04
2.2K0
python 计算一个文件(文本)的行数
#encoding=utf-8 print '中国' #计算一个文件中有多少行 #文件比较小使用 count = len(open(r"d:\123.txt",'rU').readlines()) print count #文件比较大使用 count = -1 for count,line in enumerate(open(r"d:\123.txt",'rU')): pass count += 1 print coun
简单、
2018/07/18
2K0
Python清空文件并替换内容
需要加上f.seek(0),把文件定位到position 0,没有这句的话,文件是定位到数据最后,truncate也是从这里删除,所以感觉就是没起作用。
py3study
2020/01/08
2.1K0
[993]Linux查看文件指定行数内容
tail 和 head 加上 -n参数后 都代表输出到指定行数,tail是指定行数到结尾,head是开头到指定行数
周小董
2021/06/01
11.2K0
Linux 查看文件指定行数 内容
1、tail date.log 输出文件末尾的内容,默认10行
微风-- 轻许--
2019/07/02
10.7K0
python 代码统计文件的行数
#!/usr/bin/python #encofing:utf8 # 统计文件的行数 import sys def lineCount(fd):         n = 0         for i in fd:                 n += 1         return n fd = sys.stdin print lineCount(fd)
py3study
2020/01/14
1.5K0
python统计文件行数
需求: 需要统计一个文件的行数. 讨论: 最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了: count = len(open(filepath,'rU').readlines()) 如果是非常大的文件,上面的方法可能很慢,甚至失效.此时,可以使用循环来处理: count = -1 for count, line in enumerate(open(thefilepath, 'rU')):     pass count += 1 另外一种处理大文件比较快的方法是统计文件中换行符的个数'\n
py3study
2020/01/10
2.1K0
python 统计文件行数
方法1 count = len(open(filepath, 'r').readlines()) 这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。 方法2 可以利用enumerate(),统计文件函数: count = 0 for index, line in enumerate(open(filepath,'r')):     count += 1 print count
py3study
2020/01/06
1.5K0
python批量修改文件夹和文件名_python读写文件并替换文件内容
该代码可实现,例如:文件名称为’123abc.txt’,经代码执行后可将文件重命名为’123def.txt’。
全栈程序员站长
2022/11/15
7720
python中修改文件行内容
fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。它的工作方式和readlines很类似,不同点在于它不是将全部的行读到列表中而是创建了一个xreadlines对象。 下面是fileinput模块中的常用函数: input() #返回能够用于for循环遍历的对象 filename() #返回当前文件的名称 lineno() #返回当前已经读取的行的数量(或者序号) filelineno() #返回当前读取的行的行号 isfirstli
py3study
2020/01/06
1.7K0
Python删除文件中重复的内容「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142656.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
1.9K0
Python 读取文件里的内容
读取文件内容有三个方法: Read() 读取整个文件 Readlines()按行读取整个文件 Readeline()按行读取一行内容
py3study
2020/01/10
2K0
使用python cgi上传文件并计算m
对文件拷贝后进行MD5值比较,看是不是拷贝完全。google和baidu上都是使用md5模块读取所有的文件进内存,在计算md5,导致计算超过1G大小的文件报错。增量计算MD5的方法:
py3study
2020/01/13
9790
Python计算大文件行数方法及性能比较
如何使用Python快速高效地统计出大文件的总行数, 下面是一些实现方法和性能的比较。
jhao104
2020/08/13
1.1K0
python列举文件夹下所有文件行数
    在群里聊天,看到一段代码,是可以统计文件夹下所有文件的行数,觉得不错,记录下来,以备将来有用的时候来派用场,下面贴上代码:
py3study
2020/01/08
1.4K0
Linux 批量查找并替换文件夹下所有文件的内容
Linux 命令 sed 和 grep 命令结合可以对文件夹下的所有特定字符串进行快速替换,本文记录方法。 具体操作 批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 例如: grep -rn "cdn.jsdelivr.net/gh/zywvvd/HexoImages" ./ -> $ grep -rn "cdn.jsdelivr.net/gh/zywvvd/HexoImages" ./ ./notes/coding/dataset/mongodb/Mo
为为为什么
2022/08/06
7.6K0
python匹配两个文件中相同的内容
data_small.txt中内容如下: 343 0 5258 1 3973 2 data_big.txt中内容如下: 343 2009-05-30T17:01:58Z 39.04183745 -94.5914053833 9191 343 2009-05-28T23:40:31Z 39.0523183095 -94.6074986458 8904 23 2009-05-28T23:40:31Z 39.0523183095 -94.6074986458 8904 56 2009-05-27T18:59:50Z 39.0424168 -94.59061145 9188 5258 2009-05-15T00:09:42Z 38.9920234667 -94.5920920333 10927 5258 2009-05-27T18:59:50Z 39.0424168 -94.59061145 9188 545 2009-05-15T00:09:42Z 38.9920234667 -94.5920920333 10927 3973 2009-05-14T20:47:20Z 39.0142536 -94.5928215833 12305 3973 2009-05-14T20:43:05Z 39.0146281324 -94.5907831192 9627
全栈程序员站长
2022/11/07
2.3K0
Python+pymupdf“擦除”PDF文件中的任意内容
给定一个PDF文件,在指定位置绘制一个白色的无框矩形,相当于“擦除”该位置的内容。
Python小屋屋主
2021/07/19
4.9K1

相似问题

Python 3读取文件并计算文件中的行数

10

打印python difflib文件中的行数

14

Mac终端打印Python文件的内容,并执行

110

遍历目录并打印每个文件的内容[PYTHON]

222

Python:打开现有Excel文件并计算工作表中的行数

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档