失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python文件输出-python 文件的输入输出

python文件输出-python 文件的输入输出

时间:2024-01-31 02:32:26

相关推荐

python文件输出-python 文件的输入输出

一:文件的输入:

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

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

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

两者的差异点在于input只能接受一个正确的python表达式In [8]: a = input()

ddd

---------------------------------------------------------------------------

NameError Traceback (most recent call last)

in ()

----> 1 a = input()

in ()

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+

如果觉得《python文件输出-python 文件的输入输出》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。