第三次学习

第三次学习

1.统计 this.txt 文件中字母(‘a’-‘z’)、大写字母( ‘A’-‘Z’)、数字(0-9)、其他字符的个数。

这道题主要考察的是对文件的操作,统计字符的个数又让我想到了字典。所以我需要做的就是遍历这个文件,遍历中判断字符是否在字典中,如果在就值加1,如果不在就创建一个。

import os
path="D:\\python\\this.txt"
f=open(path,"r")
dict={}
for i in range(os.path.getsize(path)):
	f.seek(i,0)
	z=f.read(1)
	if z not in dict:
		dict[z]=1
	else:
		dict[z]=dict[z]+1
	
#del dict[' ']	
print(dict)	
f.close()

写的时候考虑了几个问题

考虑空格算不算字符,不算的话可以删除。

怎样判断遍历结束。后来经过一系列测试,发现可以让文件的大小当作访问字符的次数。

2.实现类似DOS命令中的tree命令功能

这道题用了我很长时间。最开始我考虑的是用os.walk(),读取到路径下的目录名,通过循环、递归完成DOS命令中的tree命令的显示效果。但是做了很久都还有问题。考虑换思路,最后在os模块下找到了方法os.system().

[https://docs.python.org/3/library/os.html?highlight=os%20system#os.system]:

感慨居然有这种神奇的方法。

import os
path=input("path:")
str=os.system("tree "+path+" >d:\python\tree.txt")

os.system(command)这个方法返回值为int型数值,不能将这个返回值写入文档,而是直接在command命令中直接包含写入文档的DOS命令。

要注意最后写入的文档名要是原来不存在的,不然会显示“拒绝访问”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值