如何判断 Python 脚本执行成功

在编写 Python 脚本时,我们经常需要判断脚本是否成功执行,以便将其集成到自动化流程中或者进行错误处理。本文将介绍一种可靠的方法来判断 Python 脚本的执行成功与否,并提供代码示例。

问题描述

假设我们需要编写一个 Python 脚本,用于统计一篇英文文章中各个单词的出现频率,并生成一个饼状图来展示结果。我们希望能够判断脚本是否成功地生成了饼状图,并根据结果进行相应的处理。

解决方案

1. 安装所需库

首先,我们需要安装一些 Python 库来处理文章文本和生成饼状图。在命令行中执行以下命令来安装所需库:

pip install nltk matplotlib

2. 编写脚本

接下来,我们编写一个 Python 脚本 word_frequency.py,用于统计英文文章中单词的出现频率并生成饼状图。

import matplotlib.pyplot as plt
from nltk.tokenize import word_tokenize
from collections import Counter

def generate_word_frequency(text):
    # Tokenize the text into words
    words = word_tokenize(text)

    # Count the frequency of each word
    word_counts = Counter(words)

    return word_counts

def generate_pie_chart(word_counts):
    # Get the top 10 most common words
    top_words = word_counts.most_common(10)

    # Create labels and sizes for the pie chart
    labels = [word[0] for word in top_words]
    sizes = [word[1] for word in top_words]

    # Generate the pie chart
    plt.pie(sizes, labels=labels, autopct='%1.1f%%')
    plt.axis('equal')
    plt.show()

if __name__ == '__main__':
    # Read the text file
    with open('article.txt', 'r') as file:
        text = file.read()

    # Generate word frequency
    word_counts = generate_word_frequency(text)

    # Generate pie chart
    generate_pie_chart(word_counts)

3. 判断脚本执行成功

为了判断脚本是否成功生成了饼状图,我们可以检查生成的图片文件是否存在。在脚本的最后,我们可以添加以下代码来保存图片并判断是否成功:

if __name__ == '__main__':
    # ...

    # Generate pie chart
    generate_pie_chart(word_counts)

    # Save the pie chart to a file
    plt.savefig('pie_chart.png')

    # Check if the file exists
    import os
    if os.path.exists('pie_chart.png'):
        print('脚本执行成功!')
    else:
        print('脚本执行失败!')

在上述代码中,我们使用 plt.savefig 方法将生成的饼状图保存为 pie_chart.png 文件,并使用 os.path.exists 方法来检查文件是否存在。如果文件存在,则判定脚本执行成功;否则,判定脚本执行失败。

4. 结果展示

通过运行脚本,我们可以得到一个饼状图文件 pie_chart.png,表示英文文章中各个单词的出现频率。我们可以使用 Markdown 的图片语法在文章中展示该图片:

饼状图

总结

通过判断生成的图片文件是否存在,我们可以简单地判断 Python 脚本是否成功执行。在本文中,我们以统计英文文章中单词出现频率并生成饼状图的问题为例,介绍了判断脚本执行成功的方法,并提供了相应的代码示例。通过这种方法,我们可以在脚本集成和错误处理中更好地控制脚本的执行结果。


代码示例

[word_frequency.py](


参考文献

  1. NLTK Documentation. [
  2. Matplotlib Documentation. [