用windows记事本创建一个文本文件,(1)读出文件中的全部内容,使用文件对象.readline()方式。(2)该文件共有多少行。(3)文件中以大写P开头有多少行。(4)一行中字符最多的一行与最少一行分别是第几行
时间: 2023-12-30 14:04:37 浏览: 168
这里提供 Python 语言的代码实现:
(1)读取全部内容:
```python
with open('test.txt', 'r') as f:
content = f.readlines()
print(content)
```
其中 `test.txt` 是文件名,`r` 表示以只读方式打开文件,`readlines()` 方法可以一次性读取所有行,返回一个包含所有行的列表。可以通过 `print` 函数输出内容。
(2)计算文件行数:
```python
with open('test.txt', 'r') as f:
lines = len(f.readlines())
print("文件共有 %d 行" % lines)
```
其中 `len()` 函数可以获取列表长度,即文件行数。
(3)计算以大写 P 开头的行数:
```python
with open('test.txt', 'r') as f:
lines = f.readlines()
count = 0
for line in lines:
if line.startswith('P'):
count += 1
print("文件中以大写P开头的行数为 %d" % count)
```
其中 `startswith()` 方法可以判断字符串是否以指定的字符串开头。
(4)找到一行中字符最多的一行与最少一行的行数:
```python
with open('test.txt', 'r') as f:
lines = f.readlines()
max_len = 0 # 记录最长行的字符数
max_line_num = 0 # 记录最长行的行号
min_len = float('inf') # 记录最短行的字符数,初始值设为正无穷
min_line_num = 0 # 记录最短行的行号
for i, line in enumerate(lines):
line_len = len(line.strip()) # 去掉行末的换行符,计算字符数
if line_len > max_len:
max_len = line_len
max_line_num = i + 1 # 行号从1开始,需要加1
if line_len < min_len:
min_len = line_len
min_line_num = i + 1
print("一行中字符最多的一行是第 %d 行,字符数为 %d" % (max_line_num, max_len))
print("一行中字符最少的一行是第 %d 行,字符数为 %d" % (min_line_num, min_len))
```
其中 `enumerate()` 函数可以同时返回列表元素和对应的下标,行号从1开始,需要加1。`strip()` 方法可以去掉字符串两端的空白字符和换行符。
阅读全文