我需要在运行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之后的当前目录中进行搜索,并列出文件和前两行。
答案 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())