Python3:文件读写

open

f = open('filename','r') # 读模式
f = open('filename','w') # 写模式
f = open('filename','a') # 追加模式 注:rb 是以二进制读取
现在你觉得没用对吧,我也这么觉得。。。
but
在以后用到socket的时候,传输文件,读取和写入用的都是二进制形式
rb和wb可以更快速的进行文件的传输

读取内容方式

f.read() # 一次读取整个文件,文件大不适用
f.readline() # 一次只读取一行,占内存小,速度慢
f.readlines() # 一次性读取,将内容分析成一个行的列表,可以由for...in...处理

写文件方式

f.write(content) # 不会换行哦
f.writeline(content) # 下次会写在下一行

close

f.close()

示例代码一:

f = open('cdays-4-test.txt', 'r')                   #以读方式打开文件
result = list()
for line in f.readlines(): #依次读取每行
line = line.strip() #去掉每行头尾空白
if not len(line) or line.startswith('#'): #判断是否是空行或注释行
continue #是的话,跳过不处理
result.append(line) #保存
result.sort() #排序结果
f.close()                  #关闭文件
with open('new_file.txt','w') as fw: #with方式不需要再进行close
  fw.write('%s' % '\n'.join(result))     #保存入结果文件

示例代码二:

#txtName:文件名,包含完整路径
#dataList:数据
def saveTxt(txtName,dataList):
yyb_data = []
if len(dataList)>0:
for i in range(0,len(dataList)):
yyb_data.append(dataList[i].v1 + "," + dataList[i].v2 + "," + dataList[i].v3 + "," + dataList[i].v4 + "," + dataList[i].v5 + ","
+ dataList[i].v6 + "," + dataList[i].v7 + ","+ dataList[i].v8 + "," + dataList[i].v9 + "," + dataList[i].v10 + ","
+ dataList[i].v11 + "," + dataList[i].v12 + "," + dataList[i].v13 + "," + dataList[i].v14+"\n")
dbcfg = dbconfig()
vrg_savePath=dbcfg[4]
file = vrg_savePath+txtName
if os.path.exists(file):
os.remove(file)
#解决编码问题encoding='utf-8'
out = open(file, "a",encoding='utf-8')
for row in yyb_data:
out.writelines(row)
out.close()

Python3:文件读写的更多相关文章

  1. python3 文件读写,编码错误UnicodeDecodeError

    问题:python3 with open文件进行读写,报编码错误 /usr/local/Cellar/python3/3.5.2/Frameworks/Python.framework/Version ...

  2. Python3 文件读写r,w,a

    # Author;Tsukasa ''' f = open('yesterday','w') #文件句柄...注意open分为‘r’读模式,‘w’写模式(d会先创建文件或者覆盖文件),‘a’为追加模式 ...

  3. python3 文件读写操作中的文件指针seek()使用

    python中可以使用seek()移动文件指针到指定位置,然后读/写.通常配合 r+ .w+.a+ 模式,在此三种模式下,seek指针移动只能从头开始移动,即seek(x,0) . 模式 默认 写方式 ...

  4. Python3 文件读写注意事项(指针问题)

    C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe E:/python/day2/op.py Someho ...

  5. python3的文件读写模式

    任何一种语言,文件的读写都是非常常见的.python的文件读写非常简单,仅仅一个函数open(file也可以,但是我不常用). 先看看官网的解释: open(file, mode='r', buffe ...

  6. python3:文件读写+with open as语句

    转载请表明出处:https://www.cnblogs.com/shapeL/p/9141238.html 前提:文中例子介绍test.json内容: hello 我们 326342 1.文件读取 ( ...

  7. python3学习--文件读写

    这一篇我们来看文件读写操作. 打开和创建文件主要是open()函数: f = open('filename','r') # 读模式 f = open('filename','w') # 写模式 f = ...

  8. Python3 IO编程之文件读写

    读写文件是最常见的IO操作.python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一个,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序终结操作磁盘, ...

  9. python3:文件读写+with open as语句(转)

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...

随机推荐

  1. 深入学习QWidget-1

    1.QWidget对事件的抓取和放手.主要有例如以下几个接口 grabGesture 抓取输入手势 ungrabGesture 取消抓取手势 grabKeyboard 抓取键盘输入 grabMouse ...

  2. 用原生JS模仿jquery,需要HTML5的支持

    jQuery是现在最流行的JavaScript工具库. 据统计,目前全世界57.3%的网站使用它.也就是说,10个网站里面,有6个使用jQuery.如果只考察使用工具库的网站,这个比例就会上升到惊人的 ...

  3. Python_selenium封装一个浏览器引擎类

    Python_selenium封装一个浏览器引擎类 现在我们在编写一个类,叫浏览器引擎类(此例为:启动浏览器),将文件名命名为browser.py,代码下面通过更改一个字符串的值,运用if语句判断和控 ...

  4. Android无线测试之—UiAutomator UiCollection API介绍

    UiCollection类介绍 一.UiCollection类说明 1)UiCollection类是UiObject类的子类,即UiObject类的所有方法都被UiCollection继承下来了,都可 ...

  5. iOS-常用宏定义

    下面我为大家提供一些常用的宏定义! 将这些宏定义 加入到.pch使用 再也不用 用一次写一次这么长的程序了 //-------------------获取设备大小------------------- ...

  6. std::stringstream(2)

    stringstream本身的复制构造函数是私有的,无法直接用,于是带来了一些复杂的问题 网上,流传着几种办法,如streamA.str(streamB.str()),但这种办法,复制的仅仅是初始化时 ...

  7. Linux下的Make与Makefile

    原文转载自:http://www.cpplive.com/html/1776.html 另外一个不错的博客http://bbs.chinaunix.net/thread-1950588-1-1.htm ...

  8. jpa单向一对多关联映射

    如果在一的@OneToMany有@manyToOne则是双向一对多关联,如果在多的那面没有@manyToOne关联则是单向一对多关联 class和student是一对多的关系 表结构 student ...

  9. JDK源码分析之concurrent包(三) -- Future方式的实现

    上一篇我们基于JDK的源码对线程池ThreadPoolExecutor的实现做了分析,本篇来对Executor框架中另一种典型用法Future方式做源码解读.我们知道Future方式实现了带有返回值的 ...

  10. Vsftpd匿名登录设置

    修改配置文件 # vi /etc/vsftpd/vsftpd.conf local_enable=NO connect_from_port_20=YES listen=YES listen_port= ...