已知一段程序或字符串,例如:There are some books on the desk. 1. 该程序或字符串从文件读入; 2. 统计非空格字符个数和字符串个数(不包含子串); 3. 统计结果存入另一个文件; 4. 要求界面友好,程序风格规范。
时间: 2024-10-11 21:15:48 浏览: 34
为了完成这个任务,你可以编写一个简单的Python脚本,步骤如下:
1. **从文件读取**:
首先,你需要打开并读取指定的文本文件。可以使用内置的`open()`函数以文本模式打开文件(如`with open('input.txt', 'r') as file:`),然后逐行读取内容。
```python
with open('input.txt', 'r') as input_file:
lines = input_file.readlines()
```
2. **统计非空格字符和字符串个数**:
对于每一行,你可以去掉所有空格,然后计算剩余字符的数量。同时,每遇到一个非空的子串(即连续的非空字符),就增加字符串计数器。
```python
non_empty_chars = 0
strings_count = 0
for line in lines:
non_spaces = ''.join(line.split()) # 删除空格
non_empty_chars += len(non_spaces)
strings_count += len(non_spaces.split())
```
3. **将结果保存到另一个文件**:
使用`open()`函数的另一个模式(如`'w'`)创建一个输出文件,写入统计结果。
```python
with open('output.txt', 'w') as output_file:
output_file.write(f"Non-empty characters: {non_empty_chars}\n")
output_file.write(f"Strings (excluding substrings): {strings_count}\n")
```
4. **界面友好和程序风格规范**:
考虑清晰的变量名和注释,以及良好的缩进,使代码更易读。此外,可以在主函数中添加用户交互提示,让用户知道程序正在运行及何时完成。
```python
def main():
# ...(上述代码)
print("Processing completed. Results saved to output.txt.")
if __name__ == "__main__":
main()
```
现在,当你运行这个脚本时,它会读取输入文件,统计字符和字符串,然后将结果写入输出文件,同时也显示一条友好的消息。
阅读全文