python编程入门基础篇-Python简易基础篇(转载)

文件的打开或创建#!/usr/bin/env python

#-*- encoding:UTF-8 -*-

filehandler = open("test.txt","w") #以写模式打开文件,如果文件不存在则创建

filehandler.write("this is a file open/create test. the second line.")

filehandler.close()

#!/usr/bin/env python

#-*- encoding:UTF-8 -*-

filehandler = open("test.txt","a") #以追加模式打开文件,如果文件不存在则创建

filehandler.write(" append the text in another line. ")

filehandler.close()

读取文件#!/usr/bin/env python

#-*- encoding:UTF-8 -*-

filehandler = open("test.txt","r") #以读方式打开文件,rb为二进制方式(如图片或可执行文件等)

print "read() function:" #读取整个文件

print filehandler.read()

print "readline() function:" #返回文件头,读取一行

filehandler.seek(0)

print filehandler.readline()

print "readlines() function:" #返回文件头,返回所有行的列表

filehandler.seek(0)

print filehandler.readlines()

print "list all lines" #返回文件头,显示所有行

filehandler.seek(0)

textlist = filehandler.readlines()

for line in textlist:

print line

print "seek() function" #移位到第32个字符,从33个字符开始显示余下内容

filehandler.seek(32)

print filehandler.read()

print "tell() function" #移位到文件头,从头开始显示2位字符

filehandler.seek(0)

print filehandler.readline() #显示第一行内容

print filehandler.tell() #显示当前位置

print filehandler.readline() #显示第二行内容

print filehandler.read() #显示余下所有内容

filehandler.close() #关闭文件句柄

文件系统操作#!/usr/bin/env python

#-*- encoding:utf-8 -*-

import os,fnmatch,glob

for fileName in os.listdir ( "/root" ): #列出/root目录内容,不包括.和..

print fileName

os.mkdir("py") #在当前目录下创建一个py目录,且只能创建一层

os.rmdir( "py") #在当前目录下删除py目录,且只能删除一层

os.makedirs("py/aa") #可创建多层目录

os.removedirs("py/aa") #可删除多层目录

print "demonstration fnmatch module"

for fileName in os.listdir ( "/root/python/file" ):

if fnmatch.fnmatch(fileName,"*.txt"): #利用UNIX风格的通配,只显示后缀为txt的文件

print fileName

print "demonstration glob module"

for fileName in glob.glob ( "*.txt" ): #利用UNIX风格的通配,只显示后缀为txt的文件

print fileName

获取文件状态#!/usr/bin/env python

#-*- encoding:UTF-8 -*-

import os,time,stat

fileStats = os.stat ( "test.txt" ) #获取文件/目录的状态

fileInfo = {

"Size":fileStats [ stat.ST_SIZE ], #获取文件大小

"LastModified":time.ctime( fileStats [ stat.ST_MTIME ] ), #获取文件最后修改时间

"LastAccessed":time.ctime( fileStats [ stat.ST_ATIME ] ), #获取文件最后访问时间

"CreationTime":time.ctime( fileStats [ stat.ST_CTIME ] ), #获取文件创建时间

"Mode":fileStats [ stat.ST_MODE ] #获取文件的模式

}

#print fileInfo

for field in fileInfo: #显示对象内容

print "%s:%s" % (field,fileInfo[field])

#for infoField,infoValue in fileInfo:

# print "%s:%s" % (infoField,infoValue)

if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ): #判断是否路径

print "Directory. "

else:

print "Non-directory."

if stat.S_ISREG ( fileStats [ stat.ST_MODE ] ): #判断是否一般文件

print "Regular file."

elif stat.S_ISLNK ( fileSTats [ stat.ST_MODe ] ): #判断是否链接文件

print "Shortcut."

elif stat.S_ISSOCK ( fileSTats [ stat.ST_MODe ] ): #判断是否套接字文件

print "Socket."

elif stat.S_ISFIFO ( fileSTats [ stat.ST_MODe ] ): #判断是否命名管道

print "Named pipe."

elif stat.S_ISBLK ( fileSTats [ stat.ST_MODe ] ): #判断是否块设备

print "Block special device."

elif stat.S_ISCHR ( fileSTats [ stat.ST_MODe ] ): #判断是否字符设置

print "Character special device."

#!/usr/bin/env python

#-*- encoding:UTF-8 -*-

import os.path

fileStats = "test.txt"

if os.path.isdir ( fileStats ): #判断是否路径

print "Directory."

elif os.path.isfile ( fileStats ): #判断是否一般文件

print "File."

elif os.path.islink ( fileStats ): #判断是否链接文件

print "Shortcut."

elif os.path.ismount ( fileStats ): #判断是否挂接点

print "Mount point."

串行化文件#!/usr/bin/env python

#-*- encoding:UTF-8 -*-

import pickle

filehandler = open("pickle.txt","w")

text = ["this is a pickle demonstrate","aa","bb"]

pickle.dump(text,filehandler) #把text的内容序列化后保存到pickle.txt文件中

filehandler.close()

filehandler2 = open("pickle.txt")

textlist = pickle.load(filehandler2) #还原序列化字符串

print textlist

filehandler2.close()

#cpickle是用C写的pickle模块,比标准的pickle速度快很多,使用方法同pickle。

内存文件#!/usr/bin/env python

#-*- coding: utf-8 -*-

import StringIO

fileHandle = StringIO.StringIO ( "Let freedom ring." ) #create file in memory

print fileHandle.read() # "Let freedom ring."

fileHandle.close()

#cStringIO是用C写的StringIO模块,执行速度比StringIO快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值