您的位置:首页 > 编程语言 > Python开发

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

2011-07-08 13:02 1376 查看
操作系统的课程设计,要写报告贴代码,发现把这个上面的格式化后的代码贴到word文档里面特别漂亮,就只好把代码先贴这儿来了
废话少说,直接上代码(FileManage.py):
#!/usr/bin/env python3
import os,os.path
import string,base64
def 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()
break
f.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("密码错误!")  #密码不匹配,提示出错
break
if(eachline==''):
print("不存在该用户!")  #读到文件结尾没发现匹配的用户名,报错
break
f.close()
else:
print("请输入正确的操作选项!")

def main():  #main函数
usr_login()

if __name__=='__main__':
main()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: