python file operation
file.open(name[,mode[,buffering]])
模式的类型有:
r 默认只读
w 以写方式打开,如果文件不存在则会先创建,如果文件存在则先把文件内容清空(truncate the file first)
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)用seek也无用。打开的文件也是不能读的。
r+ 以读写模式打开,如果文件不存在则报错,文件可读可写,可写到文件的任何位置
w+ 以读写模式打开 (参见 w ),和r+不同的是,它会truncate the file first
a+ 以读写模式打开 (参见 a ),和r+不同的是,它只能写到文件末尾
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )
file.read([size]) size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)
file.readline( ):表示逐行读取,返回字符串
file.readlines(): 读取所有行,返回字符串列表
file.readline([size]) 返回包含size行的列表,size 未指定则返回全部行
file.write() 接收字符串并且写入到文件中
file.writelines() 接收一个字符串列表作为参数,将他们写入到文件中,换行符不会自动的加入,因此,需要显式的加入换行符
file.tell() 返回一个整数,表示当前文件指针的位置
file.seek(偏移量,[起始位置])
用来移动文件指针
偏移量:单位:比特,可正可负
起始位置:
0-文件头,默认值
1-当前位置
2-文件尾
f.truncate() 清空文件
file.close() 关闭文件
for line in f: print line #通过迭代器访问
Data descriptors defined here:
closed
True if the file is closed
encoding
file encoding
errors
Unicode error handler
mode
file mode ('r', 'U', 'w', 'a', possibly with 'b' or '+' added)
name
file name
newlines
end-of-line convention used in this file
softspace
flag indicating that a space needs to be printed; used by print
>>> fo=open("test.txt","r")
>>> fo.name
'test.txt'
>>> fo.mode
'r'
>>> fo.closed
False
>>> fo.encoding
>>> fo.errors
>>> fo.newlines
>>> fo.softspace
0
# -*- coding:utf-8 -*- from sys import argv script,filename=argv txt=open(filename) print "Here's your file %r:" % filename
print txt.read() print "Type the filename again:"
file_again=raw_input(">>") txt_again=open(file_again) print txt_again.read() > python ex15.py ex15_sample.txt
Here's your file 'ex15_sample.txt':
This is stuff I typed into a file.
It is really cool stuff.
Lots and lots of fun to have in here.
Type the filename again:
>>1.txt
test for sys.argv
>>> open("1.txt").read()
'test for sys.argv'
>>> f=open("test.txt","w")
>>> f.write("Hello \n")
>>> f.write("python!")
>>> f.close()
>>> f=open("test.txt","r")
>>> f.read()
'Hello \npython!' ##指针移动
>>> f=open("test.txt","r")
>>> f.read(3)
'Hel'
>>> f.read(3)
'lo '
>>> f.read(3)
'\npy'
>>> f.read(3)
'tho'
>>> f.read(3)
'n!'
>>> f.read(3)
'' >>> f=open("test.txt","r")
>>> f.readline()
'Hello \n'
>>> f.readline()
'python!'
>>> f.readline()
''
>>> f=open("test2.txt","w")
>>> f.writelines(["first line","+\n","second line"])
>>> f.close()
>>> f=open("test2.txt","r")
>>> f.readline()
'first line+\n'
>>> f.readline()
'second line'
>>> f.readline()
''
>>> f=open("test.txt",'a+')
>>> f.readline()
'dsadsa \n'
>>> f=open("test.txt",'w+')
>>> f.truncate()
>>> f.close()
>>> f=open("test.txt",'a+')
>>> f.readline()
''
# -*-coding:utf-8 -*- from sys import argv
from os.path import exists script,from_file,to_file =argv print "Copying from %s to %s" % (from_file,to_file) in_file=open(from_file)
indata=in_file.read() print "The input file is %d bytes long" % len(indata) print "Does the output file exist? %r" % exists(to_file)
print "Ready,hit RETURN to continue,CTRL-C to abort."
raw_input(">>") out_file=open(to_file,"w")
out_file.write(indata) print "Alright, all done." out_file.close()
in_file.close() > python ex17.py test.txt test2.txt
Copying from test.txt to test2.txt
The input file is 14 bytes long
Does the output file exist? False
Ready,hit RETURN to continue,CTRL-C to abort.
>>
Alright, all done.
> python
Enthought Canopy Python 2.7.11 | 64-bit | (default, Jun 11 2016, 11:33:47) [MSC v.1500 64 bit
Type "help", "copyright", "credits" or "license" for more information.
>>> f=open("test2.txt")
>>> f.read()
'dsads\naaa\nddd\n'
>>>
>>> fo=open("test.txt","r")
>>> fo.readline()
'dsads\n'
>>> fo.tell()
7L
>>> fo.seek(0,0)
>>> fo.readline()
'dsads\n'
>>> fo.tell()
7L
>>> fo.seek(8,0)
>>> fo.readline()
'aa\n'
>>> fo.seek(7,0)
>>> fo.readline()
'aaa\n'
>>> fo.seek(0,2)
>>> fo.tell()
17L
>>> fo.seek(-8,2)
>>> fo.tell()
9L
>>> fo.read()
'a\nddd\n'
python file operation的更多相关文章
- Python & file operation mode
Python & file operation mode create/read/write/append mode https://docs.python.org/3/library/fun ...
- Python:文件操作技巧(File operation)(转)
Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python # -*- coding: utf8 -*- spath = " D:/dow ...
- Python File I/O
File is a named location on disk to store related information. It is used to permanently store data ...
- File Operation using SHFileOperation
SHFILEOPSTRUCT Original link: http://winapi.freetechsecrets.com/win32/WIN32SHFILEOPSTRUCT.htm Refere ...
- mysql数据库报错:InnoDB: Operating system error number 13 in a file operation
环境:centos6.5 x86_64 启动mysql发现日志报错(日志路径可以查看/etc/my.cnf的配置) 160722 10:34:08 [Note] Found 42570716 of 4 ...
- InnoDB: Operating system error number 87 in a file operation. 错误87的解决方法
InnoDB: Operating system error number 87 in a file operation. 错误87的解决方法 140628 8:10:48 [Note] Plugi ...
- Adobe ZXPInstaller 报错 Installation failed because of a file operation error.
1. Drag a ZXP file or click here to select a file. 拖放一个 zxp 文件或点击打开选择一个 zxp 文件来安装: 2. Installation f ...
- Python - File - 第十八天
Python File(文件) 方法 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OS ...
- [转]python file文件操作--内置对象open
python file文件操作--内置对象open 说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前 ...
随机推荐
- zf2-tutorial调通,坑爹的init_autoloader.php
zf2-tutorial的作者把init_autoloader.php内容写错了,新建个工程,把其中的这个文件的内容替一下,然后建库/建表,把local.ini打开(不是必须的),用户名/口令等配好, ...
- JavaScript经典语录
Js的解析与执行过程: 全局中的解析和执行过程:一:预处理:创建一个此法环境LE, 扫描JS:1.用声明的方式声明的函数(不是函数表达式),2.用var定义的变量.加到预处理阶段的此法环境中 全局环境 ...
- ERP仓库管理系统(九)
需求分析: 1.设计库房表,至少包括两个字段,库房名称,库房所属公司的ID(在客户资质审批表中找到对应公司的ID) 2.设计增.删.改.查一套程序,其中的删除要做限制,只要有库存数据存在则不允许删除对 ...
- Magento 自定义URL 地址重写 分类分级显示
我们打算将URL在分类页面和产品页面分别定义为: domain.com/category/分类名.html domain.com/category/子分类名.html domain.com/goods ...
- spark mllib k-means算法实现
package iie.udps.example.spark.mllib; import java.util.regex.Pattern; import org.apache.spark.SparkC ...
- Mysql数据库搭建-Windows
首先先下载一下文件包. 下面这个文件包里面包含了已配置的MySQL5.5和连接器. https://www.dropbox.com/s/iu4ifv0m2232ktn/Win_Mysql5_ODBC. ...
- 冒泡排序(python版)
实现源码 def bubble(array): flag = len(array)- : iter = for i in range(flag): ]: array[i], array[i+]= ar ...
- Java-->利用文件指针分割文件
--> 大体上和字节流分割的方式没什么区别,只是加入文件指针确定要开始分割的位置... package com.dragon.java.splitmp3; import java.io.File ...
- SQLITE SUBSTR
insert into t_user values(4,'u1234567890'); sqlite> select substr(username,1,1) from t_user where ...
- js 小数取整的函数
1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4, ...