如何在python中添加标志

时间:2018-09-19 00:42:51

标签: python loops

当前,我有一个包含许多文件和唯一文本的文件夹 基本上有 1.txt 2.txt 3.txt

1.txt的包含为111111 2.txt的包含为222222 3.txt的包含为333333

我有一个如下脚本,用于打印以下txt文件的内容

from os import system
import sys

text=sys.argv[1]

def loop():
    system("cat /root/Music/loop/"+text+".txt")


if __name__ == "__main__":
    loop()

所以现在当我输入python loop.py 1时 它将打印并显示 111111

当我输入python loop.py 2时 它将打印并显示 222222

我的问题是如何添加标记以全部打印? 例如python loop.py --all

111111

222222

333333

1 个答案:

答案 0 :(得分:1)

您可以使用argparse以结构化的方式解析命令行参数:

from os import system
import sys
import argparse
import os

base_dir = '/root/Music/loop'

parser = argparse.ArgumentParser()
parser.add_argument('--all', action='store_true')
parser.add_argument('files', nargs='*')
args = parser.parse_args()
if args.all:
    files = os.listdir(base_dir)
else:
    files = args.files

def print_file(path):
    system('cat ' + path)

if __name__ == "__main__":
    for file in files:
        print_file(os.path.join(base_dir, file))