(统计一个文件中的字符数,单词数和行数)编写程序,统计一个文件中的字符数,单词数以及行数。单词由空格符分隔,文件名应该为命令参数被传递。
时间: 2023-06-14 07:06:02 浏览: 105
以下是Python代码实现:
```python
import sys
if len(sys.argv) != 2:
print("Usage: python word_count.py <filename>")
sys.exit(1)
filename = sys.argv[1]
char_count = 0
word_count = 0
line_count = 0
with open(filename, 'r') as file:
for line in file:
line_count += 1
char_count += len(line)
word_count += len(line.split())
print("Character count:", char_count)
print("Word count:", word_count)
print("Line count:", line_count)
```
首先,我们检查命令行参数是否正确传递。如果没有传递正确的参数,我们输出用法信息并退出程序。如果参数正确,我们将第一个参数作为文件名读取文件。
我们使用with语句打开文件,因为它会自动关闭文件句柄。我们使用for循环遍历文件的每一行,并使用内置的len函数计算字符数和split方法计算单词数。我们还计算行数并最后输出结果。
相关问题
(统计一个文件中的字符数,单词数和行数)编写java程序,统计一个文件中的字符数,单词数以及行数。单词由空格符分隔,文件名应该为命令参数被传递。
以下是一个简单的 Java 代码,可以统计一个文件中的字符数,单词数和行数:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileStats {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Usage: java FileStats <filename>");
return;
}
String filename = args[0];
int charCount = 0;
int wordCount = 0;
int lineCount = 0;
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = reader.readLine()) != null) {
lineCount++;
charCount += line.length();
// Split the line into words by whitespace
String[] words = line.split("\\s+");
wordCount += words.length;
}
} catch (IOException e) {
System.out.println("Error reading file: " + e.getMessage());
return;
}
System.out.println("Character count: " + charCount);
System.out.println("Word count: " + wordCount);
System.out.println("Line count: " + lineCount);
}
}
```
该程序使用 `BufferedReader` 从文件中读取数据,并且对每行进行字符数,单词数和行数的统计。使用 `split()` 方法将每行拆分成单词,以空格为分隔符。最后输出统计结果。
(统计一个文件中的字符数、单词数和行数)编写一个程序,统计一个文件中的字符数、单词数以及行数。单词由空格符分隔,文件名应该作为命令行参数被传递,如图12-13所示。 程序显示给定文件中的字符数、单词数和行数 c:\exercise>java Exercise12_13 Loan.java File Loan.java has 1919 characters 210words 71 lines c:\exercise>
好的,这是一个统计文件中字符数、单词数和行数的Java程序。你可以将文件名作为命令行参数传递给程序,然后程序会显示文件中的字符数、单词数和行数。
```java
import java.io.File;
import java.util.Scanner;
public class FileStats {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Usage: java FileStats <filename>");
return;
}
String filename = args[0];
File file = new File(filename);
if (!file.exists()) {
System.out.println("File does not exist.");
return;
}
int charCount = 0;
int wordCount = 0;
int lineCount = 0;
try (Scanner scanner = new Scanner(file)) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
charCount += line.length() + 1; // add 1 for newline character
wordCount += line.trim().split("\\s+").length;
lineCount++;
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("File " + filename + " has " + charCount + " characters, "
+ wordCount + " words, and " + lineCount + " lines.");
}
}
```
你可以将上面的代码保存为`FileStats.java`,然后在命令行中使用`javac FileStats.java`编译程序,使用`java FileStats <filename>`运行程序,其中`<filename>`是你要统计的文件名。程序会输出文件中的字符数、单词数和行数。
阅读全文