我们所做的就是为文件管理器程序添加一组参数。请注意,所有这些参数都是可选参数。因此,我们使用一些if-elif语句来匹配命令行输入和正确的参数类型函数,以便可以处理查询。
以下是一些描述上述程序用法的代码:
# renaming
os.rename(old_filename, new_filename)
print("Successfully renamed {} to {}.".format(old_filename, new_filename))
def
main():
# create parser object
parser =
argparse.ArgumentParser(description =
"A text file manager!")
# defining arguments for parser object
parser.add_argument("-r", "--read", type
=
str, nargs =
1,
metavar =
"file_name", default =
None,
help
=
"Opens and reads the specified text file.")
parser.add_argument("-s", "--show", type
=
str, nargs =
1,
metavar =
"path", default =
None,
help
=
"Shows all
the text files on specified directory path.\
Type
'.'
for
current directory.")
parser.add_argument("-d", "--delete", type
=
str, nargs =
1,
metavar =
"file_name", default =
None,
help
=
"Deletes the specified text file.")
parser.add_argument("-c", "--copy", type
=
str, nargs =
2,
metavar =
('file1','file2'), help
=
"Copy file1 contents to \
file2 Warning: file2 will get overwritten.")
parser.add_argument("--rename", type
=
str, nargs =
2,
metavar =
('old_name','new_name'),
help
=
"Renames the specified file to a new name.")
# parse the arguments from standard input
args =
parser.parse_args()
# calling functions depending on type of argument
if
args.read !=
None:
read(args)
elif
args.show !=
None:
show(args)
elif
args.delete !=None:
delete(args)
elif
args.copy !=
None:
copy(args)
elif
args.rename !=
None:
rename(args)
if
__name__ ==
"__main__":
# calling the main function
main()








暂无数据