编写一个名为“自动文本摘要”的Python程序。
一段长度为N的英文文本。
以下是一个基于NLTK的Python程序，用于自动生成英文文本的摘要：

```python
import nltk
from nltk.tokenize import word_tokenize, sent_tokenize
from nltk.probability import FreqDist
from heapq import nlargest

def summarize(text, n):
    sentences = sent_tokenize(text)
    words = word_tokenize(text.lower())
    stopwords = nltk.corpus.stopwords.words('english')
    words = [word for word in words if word.isalnum() and word not in stopwords]

    freq_dist = FreqDist(words)
    sentence_scores = {}
    for i, sentence in enumerate(sentences):
        sentence_words = word_tokenize(sentence.lower())
        sentence_score = sum([freq_dist[word] for word in sentence_words if word in freq_dist]) / len(sentence_words)
        sentence_scores[i] = sentence_score

    top_sentences = nlargest(n, sentence_scores, key=sentence_scores.get)
    summary = ' '.join([sentences[i] for i in sorted(top_sentences)])
    return summary
```

使用该程序，您可以像这样摘要一段文本：

```python
text = "Your input text"
summary = summarize(text, 3)
print(summary)
``` 

请将“Your input text”替换成您要摘要的实际文本，并指定要生成的摘要句子数。