将命令行参数传递给Python中导入的另一个文件

发布于 2024-12-17 18:26:25 字数 360 浏览 1 评论 0原文

我有一个 python 文件(html2text.py),当我将命令行参数传递给它时,它会给出所需的结果,即通过以下方式:

python html2text.py file.txt
  • 其中 file.txt 包含网站的源代码,结果显示在控制台上...

我想在另一个文件中使用它(比如说 a.py)并存储结果(打印在控制台)在字符串中。

为此,我需要首先在我的文件 (a.py) 中导入文件 (html2text.py)。谁能告诉我如何进一步进行...?

I have a python file (html2text.py) which gives the desired result when i pass command line argument to it i.e., in the following way:

python html2text.py file.txt
  • where file.txt contains the source code of a web-site and the result is displayed on the console...

I want to use it in another file (let say a.py) and store the result (which was getting printed on the console) in a string.

For this I need to first import the file (html2text.py) in my file (a.py). Can anyone tell me how do I proceed further...?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

零時差 2024-12-24 18:26:25

好的方法是在 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])

Good way is to create some API in your html2text.py. For example:

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

Then you will be able to use it in your a.py:

import html2text # main() will not run
import sys

output = html2text.parse(sys.argv[1])
迷荒 2024-12-24 18:26:25

我认为最好的方法是重新组织一下您的 html2text.py 文件。将这样的行附加到您的文件中:

def main():
    message = sys.stdin.readlines()
    a = your_def(message)

if __name__ == '__main__': main()

现在您可以确定,从命令行调用该文件时,一切都会顺利。此外,如果您将所有内容都保存在函数和类中,那么您现在可以在 a.py

import html2text

并在 a.py 中对其进行处理。

I think the best way is the reorganize a little your html2text.py file. Append the line like this to your file:

def main():
    message = sys.stdin.readlines()
    a = your_def(message)

if __name__ == '__main__': main()

Now you're sure, that when invoking the file from command line, everything will go fine. Moreover, if you have everything kept in functions and classes, you can now in your a.py

import html2text

and work on it already in a.py.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文