使使用用Python代代码码实实现现Linux中中的的ls遍遍历历目目录录命命令令的的实实例例代代码码
这次我就要试着用 Python 来实现一下 Linux 中的 ls 命令, 小小地证明下 Python 的不简单,需要的朋友可以参考
下
一一、、写写在在前前面面
前 天在微信上看到这样一篇文章,链接为 :https://www.j /it/692145.html,在这篇文章中,有这样一
段话,吸引了我的注意 :
在 Linux 中 ls 是一个使用频率非常高的命令了,可选的参数也有很多, 算是一条不得不掌握的命令。Python 作
为一门简单易学的语言,被很多人认为是不需要认真学的,或者只是随便调个库就行了,那可就真是小瞧 Python 了
。那这次我就要试着用 Python 来实现一下 Linux 中的 ls 命令, 小小地证明下 Python 的不简单 !
二二、、ls简介介
Linux ls 命令用于显示指定工作目录下的内容。语法如下 :
ls [- lkrt] [n me]
这里只列举了 个常用的参数,ls 命令的可选参数还是很多的,可以使用 m n ls 来进行查看具体信息。这里列
出的 个参数对应含义如下 :
1)- :显示所有文件及目录 ;
2)-l :除文件名称外,亦将文件大小、创建时间等信息列出;
3)-k :将文件大小以 KB 形式表示 ;
4)-r :将文件以相反次序排列 ;
5)-t :将文件以修改时间次序排列。
三三、、具具体体思思路路
主要使用的模块是 rgp rse 和 os,其中 rgp rse 模块能 置和接收命令行参数,也就使得 Python 对命令行的
操作变得简单,而 os 模块则用于文件操作,对 rgp rse 模块不熟悉的可以在这里查看官方文档。
既然要用 Python 实现 ls.py, 也就要在命令行中进行操作,比如 python ls.py - 这样的命令,而对 Python 比较
熟悉的人可能会想到使用 sys 模块来接收输入的命令,但使用 rgp rse 能让命令行操作变得更加简单 !首先要导入
模块并创建一个 ArgumentP rser 对象,可以理解为一个解析器,然后就可以通过使用 dd_ rgument() 方法为这个
解析器添加参数了。示例如下 :
# test.py
import argparse
parser = argparse.ArgumentParser(description='Find the maximum number.')
parser.add_argument("integers", type=int, nargs=" ", help="The input integers.")
parser.add_argument("-min", nargs="?", required=False, dest="find_num", default=max, cons
t=min,
help="Find the minimum number(Default: find the maximum number).")
args = parser.parse_args()
print(args)
print(args.find_num(args.Nums))
这段代码的功能是输入一到多个整数,默认求其中的最大值,若有 -min 参数则是求其中的最小值。可以看到在创建解析器和添加命令行参数的时候都 置了 description 描述信息,这个信息会在我们使用 --help 命令的时候显示出来,例如 :在上面的代码中,需要注意的是其中使用 dd_ rgument() 添加了一个位置参数 "integers" 和一个可选参数 "-min",位置参数在命令行中必须存在,不可遗漏,也就不能 置 required 参数了,而可选参数就不是必须要有的了,因而还可以使用 def ult 参数 置默认值。n rgs 参数用于 置命令行参数的数量,"+" 表示一个或多个,"?" 表示零个或一个,这里由于输入的数字可能有多个,所以要 置为 "+"。最终运行示例如下 :
> python test.py 1 3 5
N mesp ce(find_num=