【Python】文件读写操作
Python的文件读写有点类似php的文件读写。php的文件读写已经在《【php】让记事本成为你调控变量的控制台》(点击打开链接)说过了,以下用一个小样例说明Python的文件读写。
在F盘原本是没有f:\你好.txt这个文件的,我们要把用户在Python控制台输入的内容,搞到这个文件上去。本程序在Eclipse下的Pydev编译通过没有乱码。Windows控制台cmd的乱码问题请參考《【Python】遍历某文件夹下的全部文件夹与文件的路径、输出中文乱码问题》(点击打开链接)。程序代码例如以下:
#-*-coding:utf-8-*-
import os;
#写操作
fileName="f:\你好.txt"
fileContent=raw_input("你输入的内容将会追加到"+fileName);
fp=open(fileName.decode('utf-8').encode('gbk'),"a+");
fp.write(fileContent);
print "你输入的内容:"+fileContent;
print "已追加写入至:"+fileName;
fp.close();
print ;
#读操作
fileSize=os.path.getsize(fileName.decode('utf-8').encode('gbk'));
fp=open(fileName.decode('utf-8').encode('gbk'),"a+");
print "fileName如今的文件大小为:"+str(fileSize)+"b";
print "如今"+fileName+"的内容为:"
print fp.read(fileSize).decode('utf-8');
fp.close();
执行效果例如以下:
这里,主要说明几个文件操作的方法:
1、系统的固有类OS能够获取文件大小:os.path.getsize(filename),当中filename是路径。
能够看到上面的路径被我通过.decode('utf-8').encode('gbk')先编码为utf-8,再解码为gbk,用来适应系统的编码方式,否则会出现乱码。
主要是系统对于文件名称的处理与Python对于文件名称的处理的编码不一致。即使你在开头放了#-*-coding:utf-8-*-
然而,对于文件内容的处理却不用如此。
Python的编码就是奇奇怪怪的
2、open方法第二个參数代码文件的读取的方式。
尽管Python与C语言一样,提供的读取方法相同有a+,w+,r+三大类。
w。以写方式打开,
a。以追加模式打开(从EOF開始,必要时创建新文件)
r+,以读写模式打开
w+,以读写模式打开(參见w)
a+,以读写模式打开(參见a)
rb,以二进制读模式打开
wb,以二进制写模式打开(參见w)
ab,以二进制追加模式打开(參见a)
rb+。以二进制读写模式打开(參见r+)
wb+,以二进制读写模式打开(參见w+)
ab+,以二进制读写模式打开(參见a+)
可是,经历亲自測试,发现不管是读写操作。都用a+则不会出错,也不知道为什么。反正php是这样玩。我在Python试试,一開始用r+去读文件老不行,结果统一用a+却能够了。很奇怪。
3、最后,全部编程语言都一样,不管是文件也好、数据库也好。人走带门,自行补上关闭连接的方法。都是默认不关闭~
【Python】文件读写操作的更多相关文章
- python 文件读写操作(24)
以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...
- Python 文件读写操作实例详解
Python提供了必要的函数和方法进行默认情况下的文件基本操作.你可以用file对象做大部分的文件操作 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前 ...
- Python—文件读写操作
初识文件操作 使用open()函数打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了,根据打开文件的方式不同能够执行的操作也会有相应的差异. 打开文件的方式: r, w, a, ...
- 一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)
关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂.今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获. 一.核心功能 ‘r’ ...
- python文件读写操作与linux shell变量命令交互执行
python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼! #coding=utf-8 #!/usr/bin/python import os impor ...
- python文件读写操作
操作文件时一般经历以下步骤: 打开文件 操作文件 1.打开文件: 文件句柄 = open('/path/to/file_name','pattern') pattern: r:只读模式,打开文件时默认 ...
- python 文件读写操作打开模式
‘r’:只读.该文件必须已存在. ‘r+’:可读可写.该文件必须已存在,写为追加在文件内容末尾. ‘rb’:表示以二进制方式读取文件.该文件必须已存在. ‘w’:只写.打开即默认创建一个新文件,如果文 ...
- python里文件读写操作
文件读写操作一种基本操作,但是里面也存在很多需要注意的问题,例如字符编码.内存缓冲.指针位置等等.如果忽视这些问题就会引起很多不必要的麻烦.简单来说,文件的读写分为几个过程: 打开文件,并定义操作文件 ...
- python(三)一个文件读写操作的小程序
我们要实现一个文件读写操作的小程序 首先我们有一个文件 我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成 xiaoNa_1. ...
- excel、xls文件读写操作
python 常用的excel.xls文件读写操作,有两个模块 xlrd:读 xlwt:写 本次先写一个读的例子: class CaseData(object): def __init__(self, ...
随机推荐
- “finally block does not complete normally”的警告解决
但是,java里面不是可以保证finally一定会执行的么,为什么不可以在finally块做return??? 细细看道来: debug一下这个函数,就会惊讶的发现, 里面抛出的异常会被finally ...
- 简单实用UML关系图解
一句话UML,再记不住就要DPP了: 关系 图解 代码 备注 1:继承关系(Generalization) 2:实现关系(Realization) 3:依赖关系(Dependency) ...
- C# 程序设置开机启动(一)
一.示例使用VBScript创建启动文件,并添加到Windows系统的启动目录 默认情况下 所有用户启动目录:C:\ProgramData\Microsoft\Windows\Start Menu\P ...
- Java| 编译和反编译
原文链接: http://www.yveshe.com/articles/2018/05/01/1525172129089.html 什么是编程语言? 在介绍编译和反编译之前,我们先来简单介绍下编程语 ...
- Java Singleton Implementation
概述 Java中单例模式的实现有多重方法, 要实现单例模式主要的问题是线程安全问题以及对Lazy Load的考虑,主要有如下几种 双重锁定懒加载单例 预加载单例 枚举单例 双重锁定懒加载单例模式 /* ...
- @ZooKeeper注册中心安装(单节点)
1.下载zookeeper 下载地址:https://archive.apache.org/dist/zookeeper/,这里我们使用3.4.6版本. [winner-0715@localhost ...
- 领扣-5 最长回文子串 Longest Palindromic Substring MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 查看LINQ Expression編譯後的SQL語法(转)
在用了LINQ語法之後的一個月,我幾乎把SQL語法全部拋到腦後了,不過 LINQ好用歸好用,但是實際上操作資料庫的還是SQL語法,如果不知道LINQ語法 編譯過後產生怎樣的SQL語法,一不小心效能就會 ...
- javascript——select 标签的使用
<% String state = (String) request.getAttribute("state"); String day = (String) request ...
- 10gocm->session3->数据备份与恢复
这个实验考查我们当数据库出现问题宕机.数据丢失的情况下怎样挽回我们的损失,怎样在最短时间内恢复我们的数据库服务. RMAN规划 host target库 catalog库 ocm01 ocmdb ...