python3.2实现简单文件/目录操作

来源:互联网 发布:杀破狼js原版 编辑:程序博客网 时间:2024/06/05 06:56

操作系统的课程设计,要写报告贴代码,发现把这个上面的格式化后的代码贴到word文档里面特别漂亮,就只好把代码先贴这儿来了

废话少说,直接上代码(FileManage.py):

#!/usr/bin/env python3import os,os.pathimport string,base64def showhelp():  #显示帮助目录while True:print("=========显示帮助=========")print("1---创建新文件")print("2---写入文件")print("3---显示文件内容")print("4---重命名文件或目录")print("5---删除文件")print("6---新建目录")print("7---删除目录")print("8---列出文件")print("9---切换目录")print("0---退出程序")print("===========================")option=input("请输入操作选项:")if(option=='0'):usr_logout()elif(option=='1'):file_create()elif(option=='2'):file_write()elif(option=='3'):file_read()elif(option=='4'):rename()elif(option=='5'):file_rm();elif(option=='6'):dir_create();elif(option=='7'):dir_del();elif(option=='8'):dir_list()elif(option=='9'):dir_change()else:print("请输入有效的操作选项!")def file_create(): #创建新文件filename=input("请输入您想创建的文件名:")if(os.path.exists(filename)):print("该文件已存在!\n")else:f=open(filename,'w')f.close()print("文件创建成功!\n")def file_write():  #写入文件filename=input("请输入您想要写入内容的文件:")if((os.path.exists(filename))==False):opt=input("指定的文件不存在,是否创建新文件?(y/n):")if(opt=='y'):f=open(filename,'w')input_str=input("请输入内容:\n")f.write(input_str)f.close()else:f=open(filename,'a')input_str=input("请输入内容:('##'结束):\n")while(input_str!='##'):f.write(input_str+"\n")input_str=input()f.close()print("写入成功!")def file_read():  #显示文件内容filename=input("请输入文件名:")if(os.path.exists(filename)):  #检查指定文件是否存在f=open(filename,'r')       #存在则按照要求显示起内容for eachline in f:print(eachline)f.close()else:print("文件不存在!\n")def rename():  #重命名文件或目录filename=input("请输入您想重命名的文件或目录名称:")if(os.path.exists(filename)):     #检查指定文件或目录是否存在newname=input("请输入新名称:")os.rename(filename,newname)   #存在则按要求将其重命名print("重命名成功!\n")else:print("文件或目录不存在!\n")def file_rm():  #删除文件filename=input("请输入您想要删除的文件名称:")if(os.path.exists(filename)):  #检查指定文件是否存在os.remove(filename)        #存在则删除print("删除成功!\n")else:print("文件不存在!\n")def dir_create():  #创建新目录dirname=input("请输入目录名称:")if(os.path.exists(dirname)):  #检查目录是否已经存在print("目录已存在!\n")else:os.mkdir(dirname)         #不存在则按照要求新建该目录print("目录创建成功!\n")def dir_del():  #删除目录dirname=input("请输入要删除的目录名称:")if(os.path.exists(dirname)):  #如果目录存在则删除os.system('rm -rfv '+dirname) #递归删除目录并显示删除过程print("目录已删除!\n")else:print("目录不存在!\n")   #指定目录不存在,提示出错def dir_list():  #列出目录中的文件和子目录dirname=input("请输入目录名称('='代表当前目录):")if(dirname=="="):print(os.getcwd())os.system('ls -la')#print(os.listdir(os.getcwd()))elif (os.path.isdir(dirname)):print(os.getcwd())os.system('ls -la '+dirname)#print(os.listdir(dirname))else:print("请输入有效的路径!\n")def usr_logout():  #退出程序exit()def dir_change():dirname=input("请输入要切换到的绝对路径('..'代表上一级目录):")if(dirname=='..'):os.chdir(os.getcwd().split()[0])if(os.path.exists(dirname)):os.chdir(dirname)else:print("请输入有效的路径!")def usr_regist():  #用户注册flag=False  #用户不存在,可以注册新用户的标志user_name=input("请输入用户名:")if((os.path.exists(".user.conf"))==False): #如果用户配置文件不存在,则创建配置文件f=open(".user.conf",'w')f.close()f=open(".user.conf",'r')for eachline in f:if(eachline.split(":")[0]==user_name):  #判断用户名是否已经存在print("用户已存在!!\n")flag=True  #用户已存在的标志f.close()breakf.close()if(flag==False):  #如果用户不存在,则创建新用户user_password=input("请输入密码:")f=open(".user.conf",'a')#用户名与密码之间用":"隔开,密码用标准base64加密u_name_password=user_name+":"+base64.standard_b64encode(user_password.encode('ascii')).decode()f.write(u_name_password+"\n")f.close()os.mkdir(user_name)    #注册成功后建立该用户的主目录os.chdir(user_name)    #并将工作目录切换到用户主目录print(user_name+"注册成功!")showhelp()def usr_login():  #用户登录while True:opt=input("请选择操作('r'--注册;'l'--登录):")if(opt=="r"):  #如果选'r',则进入“注册”模块usr_regist()elif(opt=="l"):u_name=input("用户名:")u_passwd=input("密  码:")f=open(".user.conf",'r')for eachline in f:user_info=eachline.split(":")if(u_name==user_info[0]): #如果用户名匹配,再去验证密码#输入密码用标准base64加密之后匹配则登录成功if((base64.standard_b64encode(u_passwd.encode('ascii')).decode()+"\n")==user_info[1]):print("登录成功!")os.chdir(u_name)showhelp()else:print("密码错误!")  #密码不匹配,提示出错breakif(eachline==''):print("不存在该用户!")  #读到文件结尾没发现匹配的用户名,报错breakf.close()else:print("请输入正确的操作选项!")def main():  #main函数usr_login()if __name__=='__main__':main()


原创粉丝点击