#230、给出一个文件路径,判断是否存在于本地电脑中,
#如果存在则输出True,否则输出False
import os
def check_path(path):
if os.path.exists(path):
print(True)
else:
print(False)
check_path("e:\\")
check_path("d:\\2019\\1.txt")
#231、按照阶乘思想,新建多层目录和文件,规则如下:
#输入5,则会生成5级目录,根目录名称为”5的阶乘”,
#二级目录为5的阶乘的值为120,三级目录为4的阶乘为24…,
#五级目录为2的阶乘为2,然后其下文件为1.txt
import os
def func(n):
result=1
for i in range(1,n+1):
result*=i
return result
def create_dir(n):
if not isinstance(n,int):
return False
path="d:\\"+str(n)+"的阶乘"
try:
os.mkdir(path)
except Exception as e:
print(e)
os.chdir(path)
print(os.getcwd())
if n==1:
with open("1.txt","w") as fp:
print("1.txt已创建")
else:
path=""
for i in range(n,1,-1):
path+=(str(func(i))+"\\")
os.makedirs(path)
os.chdir(path)
with open("1.txt","w") as fp:
print("1.txt已创建")
create_dir(5)
create_dir(3)
create_dir(1)
#232、文件升级操作,在e盘下先手动新建如下目录和文件,
#然后控制台接收输入1,则文件上升1级,即a.txt就不在五级目录下了,而是跑到四级目录下面,
#输入4,则a.txt就在一级目录下面,输入5,则a.txt就在根目录下面
import os
try:
os.makedirs("d:\\一级目录\\二级目录\\三级目录\\四级目录\\五级目录")
except:
print("文件已创建,无需重复创建")
try:
n=int(input("请输入文件上升级数:"))
if n<=0 or n>5:
raise
except:
print("级数输入有误")
path="d:\\一级目录\\二级目录\\三级目录\\四级目录\\五级目录\\a.txt"
path_list=path.split("\\")
print(path_list)
file_name=path_list[-1]
os.remove(path)
print(file_name)
path_list=path_list[:-1]
print(path_list)
dest_path="\\".join(path_list[0:len(path_list)-n])
print(dest_path)
with open(dest_path+"\\"+file_name,"w") as fp:
print("文件%s已上升至%s目录下" %(file_name,dest_path))
#233、同时读写文件,将文件内容为”i am learning gloryroad”读取出来后重新写入到该文件中,
#效果为按空格分割,每个单词均换行
with open("d:\\2019\\1.txt","r+") as fp:
content=fp.read()
content_list=content.split(" ")
print(content_list)
fp.seek(0,0)
for word in content_list:
fp.write(word.strip()+"\n")
#234、统计你的e盘下有多少个文件扩展名为txt的文件,
#将统计的数目和找到的txt文件(全路径如”e:\test\a.txt”)打印出来
import os
txt_count=0
for root,dir,file in os.walk("d:\\2019"):
for f in file:
if os.path.splitext(f)[1]==".txt":
txt_count+=1
print(os.path.join(root,f))
print("txt文件有%s个" %txt_count)