1.文件的打开

open('filename'[,mode[,buffering]])

#这个一定要记得关文件。close.()

filename,要以路径的形式展示,比如在"c:\"中,则要这样写: r'c:\filename'

如果不用路径展示,那就用'filename'.其会在执行文件所在的文件夹进行搜索。

mode的格式有几种:

‘r’,  read,  读取模式;

'w’,  write,写入模式;

'a', add, 添加模式;

'+', 读/写模式;

'b', 二进制模式;注意‘rb’参数可以用来读取二进制文件;

主要使用的模式是前面三种。

buffering是缓冲,参数为,0, 1,以及大于1的数字和-1。

0,表示不用缓冲,直接读写硬盘;

1,表示启用缓冲(即内存);

大于1的数字,表示缓冲的大小(单位是字节)

-1,表示默认的缓冲大小。

with open('filename') as file_object:   #这种方式可以自己关文件,但是后续有关在文件运作的内容都要是在其下一级。但是赋值出来后的结果可以稳定的。

with open(r'e:\first week\username.txt','r') as f:

    for i in range(2):        r_username = 'The %s username is %s'%(i,f.readline())        print(r_username)print(r_username)

结果如下:

The 0 username is zhangyixiao

The 1 username is yingkuqi
The 1 username is yingkuqi

2.读

首先,打开文件后,如:

f = open('filename','r')  #使用了名为f的对象来调用,(不用好像不能调用),然后使用'r'模式(ps,可以省略,因为是默认的)

f.read(n)  # n,表示读取多少字符,如果没有n就表示把之前未读取的,全部读取出来。

f.readlines()  #这个是读取出所有行,输出的结果会是一个列表,每一行作为一个元素存储在里面。

f.readline(n) # n 表示可以读取的字符数目的最大值,从0开始,没有写表示按次序来。 如果要消除尾部的换行符'\n',可以在后面加上rstrip.()

如:

f.readline().rstrip()

$$一定要记住!这个read,readines,readline的功能中,如果之前有读取过的,它就不再读取了。包括使用readlines,read,readline进行读取的内容

如果想要读取特定某一行,可以利用 一个指针以及for i in range(n)的结构来实现:

password = input("Please enter your password:")

passwd = open(r'e:\first week\passwd.txt', 'r')
for l in range(2):        #l作为指针指示第几行    passwd_buffer = passwd.readline().rstrip()    if l == j:       #如果l与登录用户的顺序j一致,则进入之后的判断        if password == passwd_buffer:            print("yes,%s is in!"% username)            break        else:            print("Your password is wrong!")            count += 1
with open(r'e:\first week\passwd.txt', 'r+') as file_pass:for i in range(2):print(file_pass.readline())#打开文件,赋值给内存中的一个值,然后操作,会自动关闭
with open(r'e:\first week\song.txt', 'r') as test:#print(test.read())  #读取for i in range(10):print('%i:' % i, test.readline())  # 这个形式就是反复执行几次,readline是按照行一个个执行的,之前读取过的不会再读取print('test print', test.readline())test2 = test.readlines().copy()  #全部读取,输出的结果是一个列表,之前读取过的不会再读取print(test2)#打印出文件中的每一行:for line in test2:   #这样,line代表列表中的每一个元素(就是一行),输出就是每一行的信息print(line.strip())         #strip可以取出空格和换行print('测试是否会自动关闭test', test)   #会自动关闭的
#换一个形式就可以解决之前读取过的数据不能读取的问题
#采用利用readlines,再进行浅copy,就可以方便进行各种的操作
#但是会出现一个新的变量,且不会自动关闭,这样就占用了更多的内存,可以用del来释放变量
with open(r'e:\first week\song.txt', 'r') as test0:test = test0.readlines().copy()  #把这个文件的东西作为列表复制出来# print(test.read())  #读取for i in range(10):print('%i:' % i, test[i].strip())  # 这个形式就是反复执行几次,readline是按照行一个个执行的,之前读取过的不会再读取print('test print', test)test2 = test0.readlines().copy()  # 因为之前已经读取过了,所以输出的结果空的列表print(test2)# 打印出文件中的每一行:for line in test:  # 这样,line代表列表中的每一个元素(就是一行),输出就是每一行的信息print(line.strip())  # strip可以取出空格和换行print('测试是否会自动关闭test', test)   #不会自动关闭,这样就占用了较多的内存了。但是通过del去除变量就可以释放了
del test            #但是通过del去除变量就可以释放了
#尝试使用enumerate来判定读取的是哪一行数据
with open(r'e:\first week\song.txt', 'r') as test:for index, line in enumerate(test):if index == 9:print('The 10th line is:', line)print('测试是否会自动关闭test', test)  # 但是重新利用文件的赋值方式进行赋值之后,就可以关闭。不过要尽量避免这样的情况出现。

3.写简单的格式是with open(filename,'w') as file:   file.write("contents")

在w的打开方式下,如果目录里面没有这个文件,这个文件会被创建;如果有,就会被覆盖(所以仔细考虑用'a',还是用'w')‘a’模式下,不会覆盖,只会添加,但是这个模式不能读取的;

如果要写入多行数据,可以采用的形式是:
with open(filename,'w') as file:    file.write("contents\n")   file.write("contents\n")

4.其他一个break只能跳出当前的一个for循环或者while循环;

转载于:https://www.cnblogs.com/Ian-learning/p/7707135.html

Python学习-文件的调用-读取相关推荐

  1. python选择文件读入_Python学习-文件的调用-读取

    1.文件的打开 open('filename'[,mode[,buffering]]) #这个一定要记得关文件.close.() filename,要以路径的形式展示,比如在"c:\&quo ...

  2. python远程文件管理系统_python 读取远程服务器文件

    几个提高工作效率的Python内置小工具 在这篇文章里,我们将会介绍4个Python解释器自身提供的小工具.这些小工具在笔者的日常工作中经常用到,减少了各种时间的浪费,然而,却很容易被大家忽略.每当有 ...

  3. python学习--文件操作

    计算机中的文件是以二进制保存在磁盘上的 文本文件和二进制文件 文本文件 可以使用 文本编辑软件 查看 本质上还是二进制文件 二进制文件 二进制文件是给机器阅读的 操作文件的基本函数 注意:如果忘记关闭 ...

  4. python读写文件错误_Python读取csv文件错误解决方法

    如果累了就拥抱我取暖 --侃爷 今天这篇推文很简单,就是给大家总结一下我今天用pandas读取csv文件遇到的坑. 一直处理csv文件都是用pandas的read_csv函数读取csv文件之后处理,都 ...

  5. Python学习:用Selenium读取网页表格

    1.获取表格元素: 表格的结构一般以table标签开始,此函数是获取table元素的,一个网页中可能不止一个表格,此处返回表格元素的列表. def GetTableElements():'''获得ta ...

  6. Python之文件操作_读取_编码_os模块

    目录 前言 一.文件基本操作 1.什么是文件 2.操作文件的步骤 3.文件的路径 4.open函数操作权限总结 5.文件读取 6.with-open-as 7.文件定位读取 8.文件编码 二.OS模块 ...

  7. Python py文件如何调用其他py文件

    py文件如何调用不同文件夹下的py文件,参考博客: https://blog.csdn.net/lwgkzl/article/details/81161985 py文件调用同文件夹下的py文件,参考博 ...

  8. python学习笔记20(读取文件内容)

    1.一次性读取文件全部内容(读取的文件milktea和main.py在同一目录的情况) ''' 读取与main.py同一目录的文件milktea.txt文件里面的内容 利用open()函数打开文件,返 ...

  9. python中文件路径如何读取提示nosuch file_Python 解决相对路径问题:No such file or directory...

    如果你取相对路径不是在主文件里,可能就会有相对路径问题:"No such file or directory". 因为 python 的相对路径,相对的都是主文件. 如下目录结构: ...

最新文章

  1. Python List中的append和extend
  2. pythonurllib模块-python模块之urllib
  3. ie浏览器在线使用_全球浏览器5月份市场份额公布!Chrome和Edge浏览器迎来新一轮“撕X”大战...
  4. StoryBoard概览
  5. 网络调试指令ping、telnet、curl
  6. 判断是否为ajax请求
  7. Qt总结之二十二:Qt控件QObject
  8. MAC地址生成器(可带跳数)
  9. html页面内容查找代码,网页源代码查看
  10. 多图详解WBS任务分解法
  11. linux-巴斯勒相机 GigE通信配置步骤
  12. 易语言技术-内存读写监视窥探技术
  13. python控制苹果手机触摸屏失灵怎么办_苹果6sp屏幕失灵怎么办 这些解决方法绝对最易学...
  14. STL初步——集合Set
  15. 你真正的了解i++和++i吗?
  16. Mysql连接1045错误解决
  17. 功率半导体的正负温度系数
  18. UIUC同学Jia-Bin Huang收集的计算机视觉代码合集(ZZ)
  19. Android组件安全
  20. Java怎样存钱利息最大_C_怎样存钱利最大

热门文章

  1. 单光子探测技术应用_我如何最终在光学/光子学应用程序中使用机器学习作为博士学位
  2. 机器学习多元线性回归_过度简化的机器学习(1):多元回归
  3. 【转】智能音箱技术概览
  4. 电子设计从零开始 第一章总结
  5. el-date-picker设置默认日期_程序员必备:Java 日期处理的十个坑
  6. plsql执行command命令控制台出现乱码_展现“管理员”的神级能力,有趣又实用的我的世界基础命令...
  7. golang延时_golang 实现延迟消息原理与方法
  8. python 总结_python总结
  9. c mysql安装教程,Mysql安装教程_完成版(吐血式安装)
  10. webpack4进阶配置