首页
学习
活动
专区
圈层
工具
发布

一文搞懂Python文件读写

使用方法很简单: f = open(file) # 打开文件 f.close() # 关闭文件 03 read方法 当使用open函数打开文件后,就可以使用该文件对象的各种方法了,read就是其中一种。...如果 f.readline() 返回一个空的字符串,则表示已经到达了文件末尾,而空行使用 '\n' 表示,该字符串只包含一个换行符。...我要用readline函数读取该文件: with open('a.txt') as f: print(f.readline()) print(f.readline(5)) f.close...() 输出: readline方法会记住上一个readline函数读取的位置,接着读取下一行。...05 readlines方法 readlines方法和readline方法长得像,但功能不一样,前面说过readline方法只读取一行,readlines方法则是读取所有行,返回的是所有行组成的列表。

1.6K20

Python入门之用Python统计代码行

,注释行和空行  2: 遍历os.walk获取到的file 对象,然后将文件的后缀名利用splitext函数分割然后使用列表索引 [1] 取得文件后缀名,并判断是否是以“.py”结尾。...,是因为下面的代码会多次使用,不必每次都使用so.path.join(xx,xx)。 ...4:对于上一个步骤获取到的以“.py”结尾的文件 利用with 方式打开(使用with可省去关闭文件的代码),对于打开的文件使用While True 循环的使用readline()去读取文件的每一行并赋值给...b:使用strip()对readline()取得的行做去空白处理,如果经过处理后是以“#”开头则表示这行是一个注释行 此时对comm_lines 做加1 操作。          ...c:使用strip()对readline()取得的行做去空白处理,如果经过处理后是以三个单引号或者三个双引号开头则表示此处为一个多行注释的开始,然后判断该行的三引号数量如果为1则表示注释分多行, 否则注释为一行

1.5K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python文件操作二

    这个函数的内部是通过循环调用readline()来实现的。...也不会自动加入换行符 如: content = "我是最帮的!!\n学习文件写入操作,加油!!!"...() print "Read Line: %s" % (remainingLine) linecache 模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单 个文件读取多行...如果在缓存中的文件在硬盘上发生了变化,并且你需要更新版本,使用 这个函数,执行此函数会讲淘汰的内容删除。如果省略 filename,将检查缓存里的所有条目。...行内容(也包括|0| ) 算法分析: 遍历每一行,每行取头8个字母 新建文件,文件名为首8个字母,然后把第15字符后的所有字 符拷贝到文件中 关闭文件 fp =open("e:\\data.log")

    96620

    Python快速学习第十天

    通常来说,逐个字符串读取文件也是没问题的,进行逐行的读取也可以。还可以使用file.readline读取单独的一行(从当前位置开始直到一个换行符出现,也读取这个换行符)。...不使用任何参数(这样,一行就被读取和返回)或者使用一个非负数的整数作为readline可以读取的字符(或字节)的最大值。因此,如果someFile.readline()返回"Hello, World!...注:在写入了一些文件的内容后,通常的想法是希望这些改变会立刻体现在文件中,这样一来其他读取这个文件的程序也能知道这个改变。哦,难道不是这样吗?不一定。...如果需要继续使用文件(不关闭文件),又想将磁盘上的文件进行更新,以反映这些修改,那么就要调用文件对象的flush方法(注意,flush方法不允许其他程序使用该文件的同时访问文件,具体的情况依据使用的操作系统和设置而定...比如在读取后,就可以对字符串使用正则表达式操作,也可以将行列表存入一些数据结构中,以备将来使用。

    1.7K60

    Python3中打开文件的方式(With open)「建议收藏」

    文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的: f.close() 由于文件读写时都有可能产生IOError,一旦出错,后面的f.close(...f.close()方法 f.read(): 读取全部文件内容 f.read(size): 每次读取size个字节内容 f.readline(): 每次读取一行的内容 f.readlines():...例如,read(1024) 每次读取1024个字节的数据内容 调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。...(): print( line.strip() ) # 读取文件之后,文字末尾会出现'\n' # strip() 函数中可以把目标内容line里面所有的空格,空行等都删除掉,只剩余文字内容 2)...要写入特定编码的文本文件,请给open()函数传入encoding参数,将字符串自动转换成指定编码字符编码 5.打开非utf-8编码的文件 要读取非UTF-8编码的文本文件,需要给open()函数传入

    4.6K11

    Python基础之:Python中的IO

    所有非关键字参数都会被转换为字符串,并会被写入到流,以 sep 分割,并在末尾加上 end。 sep 和 end 都必须为字符串;它们也可以为 None,这意味着使用默认值。...repr()或者str(), str() 函数是用于返回人类可读的值的表示,而 repr()是用于生成解释器可读的表示。...\n' >>> f.read() '' f.readline() 从文件中读取一行;换行符(\n)留在字符串的末尾,如果文件不以换行符结尾,则在文件的最后一行省略。...如果 f.readline() 返回一个空的字符串,则表示已经到达了文件末尾,而空行使用 '\n' 表示,该字符串只包含一个换行符。...Second line of the file 如果你想以列表的形式读取文件中的所有行,你也可以使用 list(f) 或 f.readlines()。

    1K40

    Python快速入门教程1:Python 基础教程

    函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。空行与代码缩进不同,空行并不是Python语法的一部分。...书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。     ...lambda是一个表达式而不是一个语句。它能够出现在Python语法不允许def出现的地方。作为表达式,lambda返回一个值(即一个新的函数)。     ...str = f.read(4); print "读取的字符串是 : ", str #读取1行 print "读取1行:",f.readline() #读取所有行.../usr/bin/python # -*- coding: UTF-8 -*- def f(level ): if level < 1: #触发异常后,后面的代码就不会再执行

    65020

    当输入中有空行时,如何在 C++ 中使用 getline()?

    ---- theme: channing-cyan highlight: a11y-dark ---- 「这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战」 在 C++ 中,如果我们需要从一个流中读取好几个句子...,我们通常会首选的方法是使用 getline() 函数。...即使还没读够n个字符,如果遇到换行符’\n’(第一种形式)或delim(第二种形式),则读取终止,’\n’或delim都不会被保存进s对应的数组中。...原因是即使没有读取任何字符, getline() 也会读取直到遇到 enter 。因此,即使第三行没有任何内容,getline() 也会将其视为单行。进一步观察第二行的问题。...修改后的代码: // 一个简单的 C++ 程序,它使用 getline 读取带有空行的输入 #include #include using namespace

    2.2K10

    C# 基础知识系列- 13 常见类库介绍(一)

    C# 关于控制台的输出还有一个方法:WriteLine,从名字来看是写一行的意思,实际表现也是如此,该方法每次输出都会产生新的一行内容,而Write只会在上一次输出的结尾继续输出。...第一个是,从输入流中读取一个字符,如果没有输入则返回-1;第二个是读取输入的一行字符。 关于输入流以及流没有内容时返回-1这个问题就不在这里做介绍了。有追更的小伙伴可以等待《IO篇》的更新。...第二个,就很有意思了,获取输入的一行内容,而不是一个字符,也就是说当用户决定这行内容输入完成点击换行后程序就能读取到输入的结果。...示例中,我在每次调用Read前,都调用了一个ReadLine,这是因为在控制台中一次输入字符,然后按下回车并换行,这是有两个输入,所以在第二次Read时会将上次未读取的继续读取出来,所以我利用ReadLine...当然,Console类并不是只有这些内容,只是这些是我们最常接触的方法。 1.2 Math C#中的数学工具类,为三角函数、对数函数和其他通用数学函数提供常数和静态方法。

    1.8K30

    C# 文件读写系列三

    ==========>StreamReader和StreamWriter 2、StreamReader和StreamWriter简介 在C# 文件读写系列二中,我使用了FileStream完成了读取和写入文本文件的功能...文件的编码方式,因为windows所有的文本文件除了ASCII编码的文件,它只包含文本,如果文件是Uniocde格式,这就使用文件的前两个或者前三个字节来表示,这些字节称为字节码标记.例如在使用windows...的输出流传递给StreamReader,这样StreamReader就可以处理任何数据源(不仅仅是文本文件)中的数据. (3)、StreamReader共有13个构造函数,下面来一一使用 第一个:提供一个...第二个:ReadLine(),行读入。从当前流读取一行数据,并作为字符串返回,如果读到下一行没有数据,则返回null。...第二个:WriteLine(),写入一个空行,并跳转到下一行,代码如下: FileStream fs=new FileStream(@"C:\Users\Administrator\Desktop\test1

    2.2K100

    Java编程风格

    ,通常的做法是在该符号后断开(比如=,它与前面的内容留在同一行)。...这条规则也适用于foreach语句中的分号( : )。 方法名或构造函数名与左括号留在同一行。 逗号( , )与其前面的内容留在同一行。...例外:两个连续字段之间的空行是可选的,用于字段的空行主要用来对字段进行逻辑分组。 在函数体内,语句的逻辑分组间使用空行。...要满足本文档中其他节的空行要求(比如2.3节:import语句) 类内的第一个成员前或最后一个成员后的空行是可选的(既不鼓励也不反对这样做,视个人喜好而定)。 多个连续的空行是不允许的。...6.1.2 段落 空行(只包含最左侧星号的行)会出现在段落之间和Javadoc标记(@XXX)之前(如果有的话)。 除了第一个段落,每个段落第一个单词前都有标签\,并且它和第一个单词间没有空格。

    2.6K20

    第十一节 netty前传-NIO 和IO对比

    对于第二点 第二个区别其实和和第一个也有很大关系。java io面向流,这就使得在从流中读写数据都是阻塞进行,而Java NIO一方面通过Selectors选择器允许单个线程监视多个输入通道。...也可以使用选择器注册多个通道,然后使用单个线程“select”已经准备好的通道。 这种选择器机制使单个线程可以轻松管理多个通道,另一方面面向缓冲使得java nio的读写可以立刻返回(非阻塞)。...相较而言java nio比java io更高效,但同时使用也更为复杂,比如下面例子 我的F:\book下有个a.txt内容如下 aaa bbb ccc 在使用java io模式读取时 File...因为时阻塞,所以一旦reader.readLine()方法返回,就确定已经读取了这一行得文本,如果nio中,非阻塞读取结果可能,下面java nio的实现方式 ByteBuffer buffer = ByteBuffer.allocate...} 上面的代码也可简化入下图: ?

    55740

    Python基础之:Python中的IO

    所有非关键字参数都会被转换为字符串,并会被写入到流,以 sep 分割,并在末尾加上 end。 sep 和 end 都必须为字符串;它们也可以为 None,这意味着使用默认值。...repr()或者str(), str() 函数是用于返回人类可读的值的表示,而 repr()是用于生成解释器可读的表示。...\n' >>> f.read() '' f.readline() 从文件中读取一行;换行符(\n)留在字符串的末尾,如果文件不以换行符结尾,则在文件的最后一行省略。...如果 f.readline() 返回一个空的字符串,则表示已经到达了文件末尾,而空行使用 '\n' 表示,该字符串只包含一个换行符。...Second line of the file 如果你想以列表的形式读取文件中的所有行,你也可以使用 list(f) 或 f.readlines()。

    88620

    Python 文件输入输出——读写文件

    有不同的访问模式,您可以在使用打开()功能打开文件时指定。 使用从open()函数检索的文件对象执行读、写、追加操作。 关闭并释放文件对象。 正在读取文件 文件对象包括以下从文件中读取数据的方法。...阅读一行 下面的示例演示如何从文件中读取一行。...readline()方法将返回第一行,然后指向文件中的第二行。 阅读所有行 以下使用readlines()功能读取所有行。...同样,“r”模式只允许读,不允许写。为了同时执行读取/追加操作,请使用“a+”模式。 写入二进制文件 open()功能默认以文本格式打开文件。要以二进制格式打开文件,请将'b'添加到模式参数中。...因此"rb"模式以二进制格式打开文件进行读取,而"wb"模式以二进制格式打开文件进行写入。与文本文件不同,二进制文件不可读。使用任何文本编辑器打开时,数据都无法识别。

    1K20

    如何为可扩展系统进行Java Socket编程

    如何为可扩展系统进行Java Socket编程 从简单I/O到异步非阻塞channel的Java Socket模型演变之旅 上世纪九十年代后期,我在一家在线视频游戏工资工作,在哪里我主要的工作就是编写Unix...同 样,BufferedReader 包装后的InputStream 更易于读取。只要服务器在跑,RequestHandler 就会将客户端的信息按行读取,并将它们返回给客户端。...倘若客户端发来的是一个空行,接收两个字节:一个回车和一个换行。检测确保客户端发出一个空白行,我们以此作为客户端对话结束的信号。...采用客户端服务器几次迭代的例子,展示了基本 Java I/O的使用,以及一些场景下非阻塞I/O对Java socket编程模型的改进和简化。...利用非阻塞I/O,你可以编写网络应用来处理多并发连接,而无需管理多线程集合。同样,你也可以利用构建在NIO和 NIO.2上新的服务器扩展特性。

    1.3K80

    Python读取文件和写入文件

    a.函数open( ) 函数open(filename,mode)用于读取文件,返回一个file object。...如果你读取的是数字,并要将它作为数字使用,就必须用int( )或者float( )转换成数字 但这里注意到一个问题,我们先来看一下我test.txt原本写的是什么: ?...要解决这个问题,只需要在print函数中使用一个 rstrip( )方法: print( content.rstrip( ) )即可不输出这个空行 ###########################...这次我用了关键字 with,with会让python自动选择合适的时候来关闭文件,即python判断不需要访问文件后将其关闭 所以采用这种结构,我们只管打开文件,不用操心合适关闭文件 但要注意!...,我们用readline( )取代read( )逐行读取, 然后把结果存进一个列表line里,这样由于列表line的每个元素都对应于文件中的一行,因此输出于文件内容完全一致 3.写入文件 3.1写入空文档

    5K20

    《笨办法学Python》 第12课手记

    代码中age、height、weight都是变量名,使用raw_input输入数据后,就立即给这些变量赋值,同时把输入的以字符串显示在显示器上。再使用格式化字符%r将其混合字符输出。...空格出现了,代码并没有改变,空格是在输入数据的时候打进去的,也就是说使用raw_input时,如果输入的第一个数据是空格(空格是一个字符型的数据)的话,解释器将忽视空格录入空格后的内容。...pydoc是Python自带的模块,主要用于从python模块中自动生成文档,这些文档可以基于文本呈现的、也可以生成WEB 页面的,还可以在服务器上以浏览器的方式呈现,也可以使用pydoc命令查看函数介绍...该行下面英文的翻译如下: 从标准输入中读取一个字符串。 跟在后面的新的一行将会被剔除。...在Unix中,GNU readline将会被使用(如果可用的话)。至于提示字符串,如果给出了,就在读取后面的新字符串之前打印出来。

    69770

    Python基础-7 输入与输出

    repr与str 使用用 repr() 或 str() 函数可以值转化为字符串。 str() 函数返回供人阅读的值,repr() 则生成适于解释器读取的值。...• f.read(size) 读取文件内容,返回字符串。size可选表示最多读取字符数,不写时默认读取整个文件。 • f.readline() 从文件读取单行数据,字符串末尾保留换行符。...f.readline() 返回空字符串,就表示已经到达了文件末尾,空行使用 '\n' 表示,该字符串只包含一个换行符。...• f.readlines() 如需以列表形式读取文件中的所有行,可以用 list(f) 或 f.readlines()。 从文件中读取多行时,可以用循环遍历整个文件对象。...整数表示类型不允许使用‎‎精度‎‎。‎ type 确定了数据应如何呈现(例如进制)。 ----

    1.4K20
    领券