python第六章上机实验答案_Python课程第六章 文件和目录操作习题详解

Python课程第六章 文件和目录操作习题详解

练习题1:同时读写文件

>>> fp=open("D:\A\A.txt",'w')

>>> print fp

>>> print type(fp)

>>> print fp

>>> fp.write("glory road is great!")

>>> fp.close()

>>> fp=open("D:\A\A.txt",'r')

>>> print fp.readline()

glory road is great!

>>> fp.close()

>>>

>>> with open("D:\A\A.txt",'r') as f:

... for line in f:

... print line

...

glory road is great!

>>>

练习题2:创建一个空文件

>>> fp=open("d:\\A\B.txt",'w')

练习题3:读取文件的前两行

>>> fp=open("d:\A\A.txt",'r')

>>> twolines=fp.readlines()[0:2]

>>> print twolines

['AAAAAAAAAAAAA\n', 'BBBBBBBBBBBBB\n']

>>> fp.close()

>>>

练习题4:读取文件的奇数行

>>> fp=open("d:\A\A.txt",'r')

>>> oddlines=fp.readlines()[1::2]

>>> print oddlines

['BBBBBBBBBBBBB\n', 'GGGGGGGGGGGGGGGGGGGGGGGG']

>>> fp.close()

练习题5:在文件中写入一个列表的内容

>>> testList=['abcede\n','123\n','this is a test\n','文件操作']

>>> fp=open("d:\A\A.txt",'w')

>>> fp=open("d:\A\A.txt",'w')

>>> fp.writelines(testList)

>>> fp.close()

>>>

练习题6:在文件中的0、2、4位置写入当前的文件位置偏移量

练习题7:with写法读取文件内容

>>> with open("d:\\A\\A.txt",'r') as f:

... for line in f:

... print line

...

abcede

123

this is a test

文件操作

>>>

练习题8:统计一个文件中单词个数

文件内容:

glory road ,wu lao shi

file,haha

women, man, love

>>> count=0

>>> with open("d:\\A\\A.txt","r+") as fp:

... for lines in fp.readlines():

... for i in lines.split(','):

... for j in i.split():

... count+=1

...

>>> print count

10

练习题9:将一个文件的所有单词倒序写入文件

glory road ,wu lao shi

file,haha

women, man, love

>>> infp=open("d:\A\A.txt","r")

>>> outfp=open("d:\A\B.txt","w")

>>> text=infp.read()[::-1]

>>> print text

evol ,nam ,nemow

ahah,elif

ihs oal uw, daor yrolg

>>> outfp.write(text)

>>> outfp=open("d:\A\B.txt","r")

>>> print outfp.read()

evol ,nam ,nemow

ahah,elif

ihs oal uw, daor yrolg

>>> infp.close()

>>> outfp.close()

1.基础题:

检验给出的路径是否是一个文件:

>>> import os.path

>>> path="D:\\1"

>>> os.path.isfile(path)

False

>>> import os

>>> filename=r"d:\1\1.txt"

>>> os.path.isfile(filename)

True

>>> os.path.exists(filename)

True

检验给出的路径是否是一个目录:

>>> import os.path

>>> path="D:\\1"

>>> os.path.isdir(path)

True

判断是否是绝对路径:

>>> import os

>>> os.path.isabs("1")

False

>>> os.path.isabs(r"d:\1")

True

>>> print os.path.abspath("1")

C:\Users\Ping\1

>>> print os.path.abspath("1.txt")

C:\Users\Ping\1.txt

>>> print os.path.abspath(r"1.txt")

C:\Users\Ping\1.txt

>>> print os.path.abspath(r"c:\user\ping\1.txt")

c:\user\ping\1.txt

>>> print os.path.abspath(path)

D:\1

检验给出的路径是否真地存在:

>>> import os

>>> import os.path

>>> path=os.getcwd()

>>> path

'C:\\Users\\Ping'

>>> os.path.exists(path)

True

>>> import os.path

>>> path="D:\\1"

>>> path

'D:\\1'

>>> os.path.exists(path)

True

>>>

2.返回一个路径的目录名和文件名

>>> import os

>>> os.path.split("d:\A\A.txt")

('d:\\A', 'A.txt')

3.分离文件名与扩展名

>>> import os

>>> os.path.splitext(r'd:\A\A.txt')

('d:\\A\\A', '.txt')

4.找出某个目录下所有的文件,并在每个文件中写入“gloryroad”

>>> import os

>>> for root,dirs,files in os.walk("d:\A",topdown=False):

... print "root",root

... for file in files:

... filepath=os.path.join(root,file)

... print "filepath",filepath

... with open(filepath,"w") as fp:

... fp.write("gloryroad")

... fp.close()

... for dir in dirs:

... print "dirname",dir

...

root d:\A

filepath d:\A\A.txt

filepath d:\A\B.txt

>>>

5.如果某个目录下文件名包含txt后缀名,则把文件后面追加写一行“被我找到了!”

>>> import chardet

>>> import os

>>> for root,dirs,files in os.walk("d:\A"):

... for file in files:

... filepath=os.path.join(root,file).decode("gbk")

... if os.path.splitext(filepath)[1]=='.txt':

... with open(filepath,"a") as fp:

... fp.write(u"被我找到了\n".encode("gbk"))

... fp.close()

...

>>>

6. 命题练习:

1) 一个目录下只有文件(自己构造),拷贝几个文件(手工完成)

2 )用listdir函数获取所有文件,如果文件的创建时间是今天,那么就在文件里面写上文件的路径、

文件名和文件扩展名

3) 如果不是今天创建(获取文件的创建时间,并转化为时间格式,判断是否今天),请删除

4 )计算一下这个程序的执行耗时

7.删除某个目录下的全部文件

8.统计某个目录下文件数和目录个数

9.删除某个目录下的全部文件(仅限一级目录)

10.使用程序建立一个多级的目录,在每个目录下,新建一个和目录名字一样的txt文件

11. 查找某个目录下是否存在某个文件名

12. 用系统命令拷贝文件

13.输入源文件所在路径和目标目录路径,然后实现文件拷贝功能

14.遍历某个目录下的所有图片,并在图片名称后面增加_xx

15、遍历指定目录下的所有文件,找出其中占用空间最大的前3个文件

16、过滤py源码中的#注释,另存为文件result.py,并执行result.py,断言是否执行成功

17、文件访问,提示输入数字 N 和文件 F, 然后显示文件 F 的前 N 行.

18、从命令行接受1个路径如:c:\a\b\c\1.py, 实现1个函数创建目录a\b\c,创建文件1.py

,实现1个函数删除已创建的目录及文件

19、有一个ip.txt,里面每行是一个ip,实现一个函数,ping 每个ip的结果,把结果记录

存到ping.txt中,格式为ip:0或ip:1 ,0代表ping成功,1代表ping失败

20、实现DOS命令执行功能,接受输入命令并执行,然后把执行结果和返回码打印到屏幕

21、文件访问

访问一存在多行的文件,实现每隔一秒逐行显示文本内容的程序,每次显示文本文件的 5

行, 暂停并向用户提示“输入任意字符继续”,按回车键后继续执行,直到文件末尾。

显示文件的格式为:

[当前时间] 一行内容,比如:[2016-07-08 22:21:51] 999370this is test

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值