python 文件的输入输出

一:文件的输入:

在前面python基础命令中,我们已经介绍过输入,在此举几个例子解释一下两者的区别

raw_input()函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):

input()函数和 raw_input() 函数基本类似,但是 input 可以接收一个Python表达式作为输入,并将运算结果返回。

两者的差异点在于input只能接受一个正确的python表达式

In [8]: a = input()
ddd
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-8-9b8a430d8199> in <module>()
----> 1 a = input()

<string> in <module>()

NameError: name ‘ddd‘ is not defined

In [9]: b = raw_input()
dds

In [10]:

二:文件处理的具体方法:

open 函数

你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。

新建文件haha,和执行操作的在同一个目录下

a = open("haha","r")   #打开haha文件并且只给他read权限
print a.read()
输出:ewfevcsd
模式 描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 以读写的方式打开,如果文件不存在,直接报错,当写入内容的时候,文件从指针指向的地方继续写入
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。注:当我们写一个东西时,指针会停留在写的东西的最后一个字符,所以,当read时,即什么也读不到
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

注:以上模式在使用的时候一定要加"",其次,在read的时候,一定要注意指针的位置。

read()方法

read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

a = open("haha","r")
print a.read()


a = open("haha","r")
a = a.read(7)              ####resd(数字表示从指针初始位置到你所加数字的位置)
print a

haha sfesdsghbrtfhbred

文件为输出:

sfesdsg

文件定位seek函数:修改指针位置

file.tell()     #查看文件的指针位置

file.seek(偏移量,选项)
    偏移量: >0.向右偏移量   <0 向左偏移
    选项: 0:代表指向文件开始   1:代表指向文件当前   2:代表指向文件最后

a = open("haha","w+")
a.write("w+w+")
print a.tell()
a.seek(0,0)
print a.read()

输出:

4
w+w+

在加seek前 指针停留在最后,所以什么也读不出

flash()方法

flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

close,文件的关闭

file.close()   #关闭文件
file.closed   #查看文件是否关闭

文件的重命名和删除

前提:倒入os模块

import os
os.rename("haha","pipi")

然后你看看文件名是不是就改了呢

remove()方法

你可以用remove()方法删除文件,需要提供要删除的文件名作为参数。

语法:

import os
os.remove("ehhe")

mkdir()方法

import os
os.mkdir("yaoyao")

注:如果没有加绝对路径时,新建的目录和执行此语法的文件地址同级

chdir()方法:类似于linux的mv

可以用chdir()方法来改变当前的目录。chdir()方法需要的一个参数是你想设成当前目录的目录名称。

语法:

import os
os.mkdir("/home/example")
os.chdir("/home/example")

还有好多关于文件处理的方法,具体会整理在os模块

File对象的属性

一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息。

a = open("haha","w+")
a.write("w+w+")
a.seek(0,0)
print  "文件名",a.name
print "文件是否关闭",a.closed
print "文件访问模式", a.mode

输出:

文件名 haha
文件是否关闭 False
文件访问模式 w+
时间: 2024-12-22 21:05:37

python 文件的输入输出的相关文章

python文件和输入输出

文件和输入输出 __builtins__模块中和输入输出相关的函数: print(value,...[, sep=' ', end='\n', file=sys.stdout, flush=False]) file默认是打印到stdout,也可以重定向到别的地方 sep表示value之间插入的字符串,默认是一个空格 end表示最后一个value之后的内容,默认是换行 flush表示是否强制冲刷流,默认缓冲 print默认在输出后添加换行,如果不换行添加逗号,解决. python风格的字符串格式化

Python文件的输入输出

1.文件 通过创建一个file类的对象来打开一个文件,分别使用file类的read.readline或write方法来恰当地读写文件.对文件的读写能力依赖于你在打开文件时指定的模式.最后,当你完成对文件的操作的时候,你调用close方法来告诉Python我们完成了对文件的使用. 使用文件: #!/usr/bin/python # Filename: using_file.py poem = '''\ Programming is fun When the work is done if you

Python文件输入输出

http://blog.csdn.net/pipisorry/article/details/37769669python文件输入输出教程 python文件中的读入科学计数法的数字 float(word_dist) 皮皮blog python文件读取 内置函数open() 得到一个文件对象(file object):open(filename, mode='r') 函数参数 1. 模式mode: 模式 描述 r 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. rb 以二进制格式

python 文件输入输出

python 文件对象不仅可以访问普通磁盘文件,也可以访问抽象层面上的文件对象(例如URL地址) 打开文件open() file()功能一致可以任意替代 fp = open('/etc/test.txt', 'r') #以只读方式打开 fp = open('test.txt', 'w') #以写方式打开 fp = open('data.txt', 'r+') #以读写方式打开 fp = open(r'c:\io.sys', 'rb') #以二进制只读方式打开 输入: tp.read(size)

Python文件与目录(第三章:文件与目录)

本章介绍python中用来读写文件以及访问目录内容的函数和类型.python提供了丰富的输入输出函数,本章将介绍其中使用广泛的那些函数,首先介绍文件对象,它是python中实现输入输出的基本方法,之后将介绍用于操作路径,获取文件信息和访问目录内容的函数. 3.1文件对象 在windows路径名称中,必须在路径中队反斜杠转义,即每次用两个反斜杠,例如,路径C:\windows\temp,用python字符串C:\\windows\\temp,或者放置一个r取消字符串中队反斜杠的特殊处理,r"C:\

#5 Python变量与输入输出

前言 学习一门编程语言,最基本的无非不过学习其变量规则.条件语句.循环语句和函数,接下来的几节将开始记录这些基本的语法,本节主要记录变量规则! 一.Python输入输出 在说Python变量之前,先补充一下Python的输入和输出语句,在Python的编写过程中,会遇到许多的错误,基本的调试方法就是将中间变量打印(输出)出来,所以说Python的输入输出语句十分重要,尤其是输出语句,一定要灵活掌握. 输出 前文可能已经接触到了输出语句 print,实际上在Python3中它是一个内置函数(关于函

Python文件操作 I/O

Python 文件 I/O(输入/输出)是比较乏味的事情,因为看不到明显的运行效果,但 I/O 是所有程序都必需的部分,使用输入机制,允许程序读取外部数据(包括来自磁盘.光盘等存储设备的数据),用户输入数据:使用输出机制,允许程序记录运行状态,将程序数据输出到磁盘.光盘等存储设备中: Python 提供有非常丰富的文件 I/O 支持,它既提供了 pathlib 和 os.path 来操作各种路径,也提供了全局的 open() 函数来打开文件(在打开文件之后,程序既可读取文件的内容,也可向文件输出

五.Python文件IO和路径操作

目录 Python文件IO操作 上下文管理with 路径操作 01 Python文件IO操作: clumn column open 打开 read 读取 write 写入 close 关闭 readline 行读取 readlines 多行读取 seek 文件指针操作 tell 指针位置 打开文件 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=No

如何编写一个带命令行参数的Python文件

看到别人执行一个支持命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持命令行参数. 首先你要知道python中的sys模块的一些功能: import sys print "the number of python program's argument:",len(sys.argv) print "the value of every argument