传递参数与python文件并将其存储为变量

问题描述 投票:-1回答:2

我需要在运行python文件时传递一些参数。

参数是一个路径,/home/user/,它应该存储为列表,所以我可以在以后的代码中使用它。

示例:运行文件时。 findfiles.py / home / user / / home / user2 /

我想将列表传递给glob.glob('path *.txt'),因此它可以搜索以.txt结尾的文件

这就是我现在所得到的:

import glob

test = glob.glob('*.txt')
text1 = "file "
text2 = " has following 2 line inside"
for files in test:
        print text1 + files + text2 
        f = open(files, "r")
        print(f.readline())
        print(f.readline())

它在* .txt之后搜索当前目录并列出文件和前两行。

python
2个回答
1
投票

你有几个选择:

1.使用Argparse,阅读更多:https://docs.python.org/3/library/argparse.html

2.使用sys.argv,在你的简单案例中看起来最简单:

import sys
script_argument = sys.argv[1:]
print script_argument 
# output is : "['/home/user/', '/home/user2/']" 

根据你的需要使用它。


0
投票

Thx的提示,但我最终使用的是。

printfiles.py / home / user / / home / user2 /其中两个参数将存储在列表中。

import glob, sys, os
list = []
list = sys.argv
    for stuff in list:
    result = glob.glob(os.path.join(stuff, '*.txt'))
    print stuff

会返回它找到的.txt文件。我以后可以用结果打开它们。

for files in result:
                        print text1 + files + text2 
                        f = open(files, "r")
                        print(f.readline())
© www.soinside.com 2019 - 2024. All rights reserved.