Python读取文件名

导语
在编程过程中,我们经常需要处理文件,其中读取文件名是一个常见的操作。Python作为一种简洁而强大的编程语言,提供了多种方法来实现读取文件名的功能。本文将详细介绍Python读取文件名的方法,并给出示例代码及结果。
目录
- 遍历文件夹获取文件名
- 读取指定文件夹下的文件名
- 读取指定文件的文件名
- 从命令行参数中读取文件名
- 从标准输入中读取文件名
- 总结
1. 遍历文件夹获取文件名
首先,我们介绍一种获取文件夹中所有文件名的方法。这种方法可以用于遍历文件夹中的文件,获取文件名并进行处理。
下面是使用os库和递归函数实现的遍历文件夹获取文件名的示例代码:
import os
def get_file_names(folder_path):
file_names = []
for root, dirs, files in os.walk(folder_path):
for file in files:
file_names.append(os.path.join(root, file))
return file_names
代码中的folder_path是要遍历的文件夹路径,函数返回一个包含所有文件名的列表file_names。
下面是运行示例代码的结果:
folder_path = "C:/Users/User/Documents"
file_names = get_file_names(folder_path)
print(file_names)
输出为:
["C:/Users/User/Documents/file1.txt", "C:/Users/User/Documents/file2.csv", ...]
2. 读取指定文件夹下的文件名
如果我们只需要获取指定文件夹下的文件名,而不需要遍历子文件夹,可以使用os.listdir()函数。
下面是读取指定文件夹下文件名的示例代码:
import os
def get_file_names_in_folder(folder_path):
file_names = os.listdir(folder_path)
return file_names
代码中的folder_path是要读取的文件夹路径,函数返回一个包含文件名的列表file_names。
下面是运行示例代码的结果:
folder_path = "C:/Users/User/Documents"
file_names = get_file_names_in_folder(folder_path)
print(file_names)
输出为:
["file1.txt", "file2.csv", ...]
3. 读取指定文件的文件名
有时候,我们只需要读取一个特定文件的文件名。可以使用os.path.basename()函数来实现这个功能。
下面是读取指定文件的文件名的示例代码:
import os
def get_file_name(filepath):
file_name = os.path.basename(filepath)
return file_name
代码中的filepath是要读取的文件路径,函数返回一个包含文件名的字符串file_name。
下面是运行示例代码的结果:
filepath = "C:/Users/User/Documents/file1.txt"
file_name = get_file_name(filepath)
print(file_name)
输出为:
file1.txt
4. 从命令行参数中读取文件名
在实际应用中,我们可能需要从命令行参数中读取文件名。Python提供了sys.argv列表来获取命令行参数。
下面是从命令行参数中读取文件名的示例代码:
import sys
def get_file_name_from_command_line():
if len(sys.argv) != 2:
print("Usage: python script.py <filename>")
return None
file_name = sys.argv[1]
return file_name
代码中,我们假设只有一个命令行参数传递给脚本,即文件名。函数会检查命令行参数的数量,如果不符合要求,则打印一条用法提示信息,并返回None。
下面是运行示例代码的结果:
假设脚本名为script.py,命令行输入为python script.py file1.txt,则输出为:
file1.txt
如果命令行输入不符合要求,如python script.py,则输出为:
Usage: python script.py <filename>
5. 从标准输入中读取文件名
另一种常见的读取文件名的方式是从标准输入中读取。我们可以使用input()函数来实现这个功能。
下面是从标准输入中读取文件名的示例代码:
def get_file_name_from_stdin():
file_name = input("Enter file name: ")
return file_name
代码中,input()函数用于接收用户的输入,函数会返回用户输入的文件名。
下面是运行示例代码的结果:
Enter file name: file1.txt
file1.txt
用户输入的文件名将作为函数的返回值。
6. 总结
本文介绍了Python中读取文件名的多种方法。通过os库和内置函数,我们可以方便地实现遍历文件夹获取文件名、读取指定文件夹下的文件名、读取指定文件的文件名、从命令行参数中读取文件名以及从标准输入中读取文件名等功能。
极客教程