传递命令行参数在Python
问题描述:
进口我有一个Python文件(html2text.py
)另一个文件,其给出了所希望的结果时,我通过命令行参数给它即以下面的方式:传递命令行参数在Python
python html2text.py file.txt
- 其中
file.txt
包含一个网站的源代码,并将结果显示在控制台上...
我想用它在另一个文件(让我们说a.py
),并将结果(这是越来越印刷Ø在控制台中)在一个字符串中。
为此,我需要先将文件(html2text.py
)导入到我的文件(a.py
)中。任何人都可以告诉我如何进一步......?
答
好方法是在您的html2text.py
中创建一些API。例如:
# html2text.py
def parse(filename):
f = open(filename)
# do the stuff
return output_string
def main():
import sys
print parse(sys.argv[1])
if __name__ == '__main__':
main()
然后你就可以在你的a.py
使用它:
import html2text # main() will not run
import sys
output = html2text.parse(sys.argv[1])
答
我认为最好的方法是重新组织一个小的html2text.py
文件。追加这样的行到你的文件:
def main():
message = sys.stdin.readlines()
a = your_def(message)
if __name__ == '__main__': main()
现在你确定,当从命令行调用文件,一切都会好起来。此外,如果你拥有的一切保存在函数和类,现在你可以在你的a.py
import html2text
和它a.py
已经工作。