当前位置: 移动技术网 > IT编程>脚本编程>Python > Python课程第六章 文件和目录操作习题详解

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

2018年03月08日  | 移动技术网IT编程  | 我要评论

废材逆天四小姐,凤于九天广播剧,名侦探柯南821

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

 

练习题1:同时读写文件
>>> fp=open("D:\A\A.txt",'w')
>>> print fp
<open file 'D:\\A\\A.txt', mode 'w' at 0x00000000021A6150>
>>> print type(fp)
<type 'file'>
>>> print fp
<open file 'D:\\A\\A.txt', mode 'w' at 0x00000000021A6150>
>>> 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

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网