1.向文本文件中写入内容

s = 'Hello world\n文本文件的读取方法\n文本文件的写入方法\n'
# 需要写入文件的字符串
print('显示需要写入的内容:\n{0:s}'.format(s))
#-----文件操作开始------------
f = open('sample.txt', 'a+') # 以追加(a)和读写(+)的模式打开并创建文件对象f
f.write(s) # 对文件对象f使用write方法
f.close() # 关闭文件
#-----文件操作结束------------
显示需要写入的内容:
Hello world
文本文件的读取方法
文本文件的写入方法

使用上下文管理关键字with方法

s = 'Hello world\n文本文件的读取方法\n文本文件的写入方法\n'
with open('sample.txt', 'a+') as f:
f.write(s)
with open('sample.txt','r') as src, open('sample_new.txt', 'w') as dst:
dst.write(src.read())
with open('sample_new.txt', 'r') as fp:
for line in fp:
print(line)
第一个文件操作案例。Hello world

文本文件的读取方法

文本文件的写入方法

Hello world

文本文件的读取方法

文本文件的写入方法
fp.closed
True

2.读取文件内容

fr = open('sample.txt', 'r')
print(fr.read(4))
xxx的
print(fr.read(18))
第一个文件操作案例。Hello wo
print(fr.read())
rld
文本文件的读取方法
文本文件的写入方法
Hello world
文本文件的读取方法
文本文件的写入方法
fr.close()
fr.closed
True

3.JSON知识点学习

import json
x = ['yu','bright','1','4','5']
x_bianma = json.dumps(x) # 利用json的dumps对列表x进行字符串编码操作
x_bianma
'["yu", "bright", "1", "4", "5"]'
x_jiema = json.loads(x_bianma)
x_jiema == x # 解码后与x相同类型
True
x_bianma == x # 编码后与x不同类型
False
f_ = open('sample.txt', 'w')
json.dump({'a':1,'b':2,'c':3}, f_) # 对字典进行编码并写入文件
f_.close()

4.读取并显示文件所有内容

with open('sample.txt', 'r') as fp:
while True:
line = fp.readline()
if not line:
break
print(line)
{"a": 1, "b": 2, "c": 3}
with open('sample_new.txt', 'r') as fp:
for line in fp:
print(line)
第一个文件操作案例。Hello world

文本文件的读取方法

文本文件的写入方法

Hello world

文本文件的读取方法

文本文件的写入方法
with open('sample_new.txt','r') as fp:
lines = fp.readlines() # 操作大文件是不建议这样使用
print(''.join(lines))
第一个文件操作案例。Hello world
文本文件的读取方法
文本文件的写入方法
Hello world
文本文件的读取方法
文本文件的写入方法

5.移动文件指针

fp = open('sample_new.txt','r+')
fp.tell() # 返回指针当前位置
0
fp.read(20) # 读取20个字符
'第一个文件操作案例。Hello '
fp.seek(13)  #重新定位文件指针的位置
13
fp.write('测试')
fp.seek(0)
0
fp.read()
'测试文件操作案例。Hello world\n文本文件的读取方法\n文本文件的写入方法\nHello world\n文本文件的读取方法\n文本文件的写入方法\n'
fp.close()

python3基础之文件对象操作的更多相关文章

  1. delphi 基础之三 文件流操作

    文件流操作 Delphi操作流文件:什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具.在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的, ...

  2. AIR文件操作:使用文件对象操作文件和目录 .

    来源:http://blog.csdn.net/zdingxin/article/details/6635376 在AIR中可以方便的对本地文件操作,不过上次做了个项目,发现还是有不少不方便的地方,比 ...

  3. AIR使用文件对象操作文件和目录

    文件对象是啥?文件对象(File对象)是在文件系统中指向文件或目录的指针.由于安全原因,只在AIR中可用. 文件对象能做啥? 获取特定目录,包括用户目录.用户文档目录.该应用程序启动的目录和程序目录 ...

  4. AIR文件操作(二):使用文件对象操作文件和目录

    转载于:http://www.flashj.cn/wp/air-file-operation2.html 文件对象是啥?文件对象(File对象)是在文件系统中指向文件或目录的指针.由于安全原因,只在A ...

  5. python 基础之文件读操作

    创建一个名为‘尘曦’的文件内容如下 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. ...

  6. Python基础灬文件常用操作

    文件常用操作 文件内建函数和方法 open() :打开文件 read():输入 readline():输入一行 seek():文件内移动 write():输出 close():关闭文件 写文件writ ...

  7. C语言基础 (12) 文件的操作 FILE

    课程回顾 结构体基本操作: 结构体类型的定义 // struct为关键字 Stu为自定义标识符 // struct Stu才是结构体类型 // 结构体成员不能在定义类型时赋值 struct Stu { ...

  8. node基础-文件系统-文件写操作

    文件操作频率最高的就是读跟写.nodejs的文件的读取API在<node基础-文件系统-读取文件>里已经简单介绍过,本文就简单介绍下nodejs的文件写API. nodejs的文件操作均提 ...

  9. python3基础07(进程操作及执行系统级命令等)

    #subprocess 创建子进程 连接输入 输出 管道错误,及获取他们的状态,可执行操作系统级的命令# subprocess.run(args, *, stdin=None, input=None, ...

随机推荐

  1. 为caffe添加最简单的全通层AllPassLayer

    参考赵永科的博客,这里我们实现一个新 Layer,名称为 AllPassLayer,顾名思义就是全通 Layer,“全通”借鉴于信号处理中的全通滤波器,将信号无失真地从输入转到输出. 虽然这个 Lay ...

  2. STM32F103X datasheet学习笔记---DMA

    1.前言 直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输. 无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作. 两个DMA控制器 ...

  3. 如何提交内核补丁--checkpatch.pl使用【转】

    转自:https://blog.csdn.net/qq_29350001/article/details/52056667 转自: http://blog.csdn.net/ganggexiongqi ...

  4. Linux内存管理--基本概念【转】

    转自:http://blog.csdn.net/myarrow/article/details/8624687 1. Linux物理内存三级架构 对于内存管理,Linux采用了与具体体系架构不相关的设 ...

  5. 使用 Virtual Machine Manager 管理虚拟机

    转载自https://www.ibm.com/developerworks/cn/cloud/library/cl-managingvms/   尽管服务器管理在过去问题重重,但虚拟化管理简化了一些问 ...

  6. C# .NET Winform等程序一运行就闪退 不同环境 换到其他电脑,例如XP之类的解决方法。

    我现在写标题就跟写tag一样,方便大家索引. 有时候经常会把.NET写的程序拿到其他客户机,发现直接闪退,啥也不报错..那就很蛋疼,又不可能去装IDE来检测是吧,网上还有很多说啥看系统日志的,什么图标 ...

  7. Linux中涉及到计算优先级及其他问题

    比如计算矩形周长: a= b= echo `expr \* $((a+b))` 1.expr外要使用反引号,且expr只支持整数计算,如果涉及到浮点数计算要采用下面方法 2.优先计算a+b时,要使用双 ...

  8. maven 跳过test

    -DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下. -Dmaven.test.skip=true,不执行测试用例,也不编译测试 ...

  9. mysql 常用,使用经验

    mysql default  boolean字段 `enable` char(1) NOT NULL DEFAULT '1' COMMENT '启(禁)用',结果: this.enable ? &qu ...

  10. mysql多线程插入速度与不同数据库之间的比较

    package ThreadInsetMysql;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQ ...