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

时间:2019-02-13 15:10:41

标签: python

我需要在运行pythonfile时传递一些参数。

该参数是路径/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之后的当前目录中进行搜索,并列出文件和前两行。

2 个答案:

答案 0 :(得分:1)

您有几种选择:

1。使用Argparse来阅读更多内容:    https://docs.python.org/3/library/argparse.html

2.use sys.argv在您的简单情况下似乎是最简单的:

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

只需根据需要使用即可。

答案 1 :(得分:0)

提示,但最后我使用的是。

printfiles.py / home / user / / home / user2 / 这两个参数将存储在list中。

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())