如何查看用户是否添加了' .txt'文件名并添加它,如果他们没有?

时间:2014-04-23 15:05:50

标签: python

我遇到的问题可能比我要做的更容易。 (我在一个介绍级编程课程中)

基本上我正在编写一个程序,我要求用户输入文件名,我先从文件中读取信息,然后在列表中对其进行排序并将其写入其他地方。该任务要求我们向用户询问要读取的文件名。如果用户输入带有'.txt'的文件名,我们继续进行处理。如果他们不这样做,我们必须在继续之前添加'.txt'。我知道如果将'.txt'添加到文件名中,如果它们没有包含它,我知道如何检查它是如何先检查它们是否存在。

如何首先检查用户是否使用扩展名编写了文件名?

我假设它与if / else语句有关,但我一直感到困惑。

谢谢

3 个答案:

答案 0 :(得分:2)

要检查+添加扩展程序:

import os.path

if os.path.splitext(filename)[1] != '.txt':  # Ending is not '.txt'.
   filename += '.txt'

使用os.path.splitext拆分基本名称和扩展名。

答案 1 :(得分:0)

您可以使用endswith(无需任何其他导入):

fileName += ".txt" if not fileName.endswith('.txt') else ""

如果您想要 更正 扩展程序,您可能需要查看os.splitpath

答案 2 :(得分:0)

您可能将文件名存储在str对象中(即字符串)。 Python documents all the operations you can perform on a str object。其中一个操作是endswith - 这将告诉您字符串对象是否以特定子字符串结尾。

因此,如果您将文件名存储在名为my_filename的变量中,则可以执行以下操作:

has_extension = my_filename.endswith('.txt')
如果my_filename以' .txt'结尾,

has_extension将为true,否则为false。

Python的功能非常棒,我会为它保留一个书签以供参考此类情况