键盘录入一个文件夹路径,统计该文件夹下的各种后缀名的文件的个数
时间: 2023-06-08 19:04:00 浏览: 140
您好,这个问题可以通过编写一个程序来实现。您可以使用Python语言的os、sys、glob等库来遍历目录下的文件,并统计它们的后缀名,最后得出不同后缀名文件的数量。以下是参考代码:
```python
import os
import sys
import glob
def count_files(path):
files = glob.glob(os.path.join(path, '*.*'))
results = {}
for file in files:
ext = os.path.splitext(file)[1]
if ext in results:
results[ext] += 1
else:
results[ext] = 1
return results
if __name__ == '__main__':
path = input('请输入文件夹路径:')
results = count_files(path)
for ext, count in results.items():
print('后缀名为{}的文件个数为{}'.format(ext, count))
```
请注意,在键盘输入文件夹路径时,请确保路径的正确性,路径可以是相对路径或绝对路径。同时,该程序仅限于统计当前目录下的文件,不会递归到子目录中去。希望对您有所帮助!
相关问题
基于Java代码实现键盘录入一个文件夹路径,统计该文件夹下的各种后缀名的文件的个数
您好,这是一个技术问题,我可以回答。您可以使用Java中的File类和HashMap类统计该文件夹下各种后缀名的文件个数,具体的实现代码类似下面这样:
```
import java.io.File;
import java.util.HashMap;
public class CountFiles {
public static void main(String[] args) {
String folderPath = "your folder path here";
HashMap<String, Integer> countMap = new HashMap<>();
File folder = new File(folderPath);
if (folder.exists()) {
File[] files = folder.listFiles();
if (files != null) {
for (File file : files) {
if (file.isFile()) {
String fileName = file.getName();
int index = fileName.lastIndexOf('.');
if (index > 0) {
String extension = fileName.substring(index + 1);
int count = countMap.getOrDefault(extension, 0);
countMap.put(extension, count + 1);
}
}
}
for (String extension : countMap.keySet()) {
System.out.println(extension + ": " + countMap.get(extension));
}
}
}
}
}
```
需要替换 `folderPath` 为您所要统计的文件夹路径。以上代码可以统计该文件夹下各种后缀名的文件个数,并输出到控制台。希望能对您有所帮助。
键盘录入一个文件夹路径打印所有文件夹路径后缀名
好的,我可以为您提供一个Java的示例代码来实现您的需求:
```java
import java.io.File;
public class PrintFolderPathsAndExtensions {
public static void main(String[] args) {
// 读取用户输入的文件夹路径
String folderPath = System.console().readLine("请输入文件夹路径:");
// 创建File对象
File folder = new File(folderPath);
// 打印所有文件夹路径和后缀名
printFolderPathsAndExtensions(folder);
}
private static void printFolderPathsAndExtensions(File folder) {
// 遍历文件夹中所有文件和子文件夹
for (File file : folder.listFiles()) {
// 如果是文件夹,则递归打印其下所有文件夹路径和后缀名
if (file.isDirectory()) {
printFolderPathsAndExtensions(file);
} else {
// 如果是文件,则打印其路径和后缀名
System.out.println(file.getAbsolutePath() + ",后缀名:" + getFileExtension(file));
}
}
}
private static String getFileExtension(File file) {
// 获取文件名
String fileName = file.getName();
// 获取文件名中最后一个"."的索引
int dotIndex = fileName.lastIndexOf(".");
// 如果文件名中没有"."或者"."在文件名的开头或结尾,则认为该文件没有后缀名
if (dotIndex == -1 || dotIndex == 0 || dotIndex == fileName.length() - 1) {
return "";
} else {
// 返回文件后缀名,不包含"."
return fileName.substring(dotIndex + 1);
}
}
}
```
使用该代码,您只需要在控制台中输入文件夹路径,即可打印出该文件夹中所有文件路径和后缀名。希望能够帮助到您!
阅读全文