Python_day_07_文件操作

原创 2018年04月16日 14:03:15

1.格式

f = open(filename[, mode])
print f.tell()  ##查看当前索引位置
print f.read()  ##读取
f.close()   ##结束

2.文件打开模式

r:
    文件不存在时,error;
    只能r,不能w;
r+:
    文件不存在时, error;
    可以读写;
    在打开文件时, 不会清除文件原有内容;
w:
    只能w,不能读
    文件不存在时, 创建该文件;
    在打开文件时, 清除文件原有内容;
w+:
    可以读写;
    文件不存在时, 创建该文件;
    在打开文件时, 清除文件原有内容;
a:
    文件不存在时, 创建该文件;
    在打开文件时, 不清除文件原有内容;
    不能读取,只能w;
a+:
    文件不存在时, 创建该文件;
    在打开文件时, 不清除文件原有内容;
    可以读写;

如果读写二进制数据时, 在原有mode后面加b;

r, rb; r+, rb+; w, wb; w+, wb+; a, ab; a+, ab+;

f.seek用法

f.write('java')
seek方法需要传两个参数:
     1). 第一个参数: 偏移量;偏移量>0,代表向右偏移, 反之,向左偏移; =0,不偏移;
     2). 0: 文件开头; 1代表当前位置; 2代表文件末尾;
f.seek(3,0)
print f.tell()  
print f.read()  
f.close()

3.os模块

import os

1)os.path

myFiles = ['account.txt', 'details.csv', 'invite.docx']
for filename in myFiles:
    print os.path.join('/tmp/', filename)   ##路径连接
结果为
/tmp/account.txt
/tmp/details.csv
/tmp/invite.docx

print os.path.abspath('hello')          ##当前文件绝对路径
print os.path.isabs('/home/kiosk/Desktop/untitled/hello')   ##当前路径绝对路径是否为,返回布尔值
print os.path.dirname('/etc/passwd')        ##文件路径上层目录(除了当前底层目录)
print os.path.basename('/etc/password')     ##文件路径底层目录
print os.path.split('/etc/passwd/aa')       ##将文件路径分块(上层和底层)
print 'etc/passwd/aa'.split(os.path.sep)    ##将文件路径全部分块
print os.path.sep               ##相当于分隔符 /
print os.path.getsize('/etc/passwd')        ##文件大小
print os.listdir('/mnt')            ##列出
print os.path.exists('/etc/passwd')     ##判断是否存在,返回布尔值

2)os.getcwd / os.chdir ##所在目录查询 / 改变路径

print os.getcwd()
os.chdir('/mnt')
print os.getcwd()

3)os.makedirs ##建立目录

os.makedirs('/tmp/hello01')

4)shelve

shelve是python的自带model,可以直接通过import shelve来引用,
shelve类似于一个存储持久化对象的持久化字典,即字典文件。
使用方法也类似于字典。

import shelve

devin = dict(name='devin')
tom = dict(name='tom')
op = shelve.open('/mnt/123')
op['devin'] = devin
op['tom'] = tom
print op
print op['devin']
op.close()

#4.文件读取
from collections import Iterable
f = open('/mnt/passwd', 'r')
print f.readable()  ??

print f.readline()  ##显示一行内容
print f.readline()
print f.readline()
** strip去除\n,\t,
print [line.strip() for line in f.readlines()]
print type(f)       ##file 类型
f.close()

print isinstance(f, Iterable)
for i in f:         # 迭代器,open文件内容可迭代
    print i

5.文件写入

users = [
    'user1:passwd:westos',
    'user2:passwd2:westos',
    'user3:passwd3:westos',
]

users = [user + '\n' for user in users]

f = open('/tmp/passwd.swp', 'w+')
f.write('hello world')  ##单行写入
f.writelines(users) ##多行写入
f.seek(0, 0)
print f.read()
f.close()


Python_day_07_面向对象编程

面向过程: 面向函数: 面向对象:1.定义一个类def 函数名 ( 形参 ): 函数执行的内容 类的格式 class 类名 ( 父类 ): 类的内容类名后面有括号的类,称为新式类;...
  • GodDevin
  • GodDevin
  • 2018-04-16 14:06:51
  • 1

ORA-29283: 文件操作无效

问题描述: 利用utl_file包将表数据导出到excel,需要进行格式控制,即输出一行记录后就换行。代码如下: loop     ......       utl_file.put(l_file,...
  • GAMEloft9
  • GAMEloft9
  • 2014-03-10 10:09:33
  • 1608

第十三周OJ(2)文件操作1

 /* 烟台大学计算机与控制工程学院 All rights reserved. 作者:汪莹莉 完成时间:2016年11月29日 题目描述 文本文件score.dic 中存储了n名...
  • wylno1
  • wylno1
  • 2016-11-29 14:52:00
  • 276

C 和 C++ 文件操作详解

来源:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551662.html 来源:http://www.cnblogs.com/likebet...
  • freeking101
  • freeking101
  • 2017-03-09 16:12:58
  • 4629

孙强上传的JS文件操作

  • 2009年09月30日 01:30
  • 3KB
  • 下载

Linux文件操作例子

1. 读文件的代码 int main(int arg, char *args[]) { if (arg return 0; int fd = open(args[1], O_RDONLY)...
  • zangyongcan
  • zangyongcan
  • 2016-07-16 11:11:30
  • 232

ubuntu常用命令文件操作

用户与用户组linux的多用户,多任务环境,可查看ubuntu常用命令进程管理linux用户身份与用户组相关记录的文件 /etc/passwd 系统用户和一般身份用户xinx。 /etc/shad...
  • qq_24145735
  • qq_24145735
  • 2016-07-12 11:48:36
  • 1372

c++ 文件操作多态

  • 2011年05月11日 22:41
  • 19KB
  • 下载

Shell脚本学习-文件操作和文本处理

Solaris下文件操作和文本处理相关shell整理。 $ls     -a: all entries; -A: all entries, with the exception of . and ...
  • fw0124
  • fw0124
  • 2010-10-14 16:29:00
  • 11242

C语言中简单的文件操作(参考VC++深入详解)

在C语言中,对于文件的操作是利用FILE结构体进行的。 几个常用的操作文件函数简介 1:打开文件 FILE *fopen( const char *filename, const char *mode...
  • clh19901213
  • clh19901213
  • 2014-01-14 21:54:25
  • 2667
收藏助手
不良信息举报
您举报文章:Python_day_07_文件操作
举报原因:
原因补充:

(最多只允许输入30个字)