python读取文件后提取数字
时间: 2023-06-11 15:08:51 浏览: 115
可以使用正则表达式来提取文件中的数字。以下是一个例子:
```python
import re
# 打开文件
with open('file.txt', 'r') as f:
# 读取文件内容
content = f.read()
# 使用正则表达式匹配数字
numbers = re.findall(r'\d+', content)
# 输出匹配到的数字
print(numbers)
```
这个例子会打开名为 `file.txt` 的文件,读取文件内容并使用正则表达式提取其中的数字。匹配到的数字会以列表形式输出。
相关问题
使用python读取文件,将每一行中“PSNR”后的数字提取出来并放到一个列表里
可以使用Python的字符串操作和正则表达式来实现这个功能。具体步骤如下:
1. 打开文件,读取每一行数据;
2. 在每一行数据中使用正则表达式查找到“PSNR”后的数字;
3. 将数字添加到列表中;
4. 关闭文件。
下面是一个示例代码:
```python
import re
psnr_list = []
with open('file.txt', 'r') as f:
for line in f:
match = re.search(r'PSNR\s+(\d+\.?\d*)', line)
if match:
psnr = float(match.group(1))
psnr_list.append(psnr)
print(psnr_list)
```
其中,`file.txt`是要读取的文件名,可以根据实际情况进行修改。正则表达式`r'PSNR\s+(\d+\.?\d*)'`用于匹配“PSNR”后的数字,其中`\s+`表示匹配一个或多个空格,`\d+\.?\d*`表示匹配一个或多个数字,可能包含一个小数点(可选),后面跟着零个或多个数字。`match.group(1)`表示提取出匹配到的数字。最终输出的是一个包含所有PSNR值的列表。
Python读取储存若干数字的文件,对其数字进行排序后输出
在Python中,你可以使用内置的`open()`函数打开一个文本文件,然后逐行读取数据,将数字存储在一个列表中。接着,你可以利用列表的`sort()`方法对数字进行排序,最后再将排序后的结果输出到控制台或者写入新的文件。以下是一个简单的示例:
```python
# 打开并读取文件
with open('numbers.txt', 'r') as file: # 假设文件名为numbers.txt,如果不存在需要创建
lines = file.readlines()
# 提取并整理数字,假设数字都是整数或浮点数
numbers = [int(line.strip()) for line in lines if line.strip().isdigit()]
# 对数字进行排序
numbers.sort()
# 输出排序后的数字
print("Sorted numbers:", numbers)
# 如果需要保存排序后的结果到新文件
with open('sorted_numbers.txt', 'w') as output_file:
for number in numbers:
output_file.write(str(number) + '\n')
```
在这个例子中,我们假设文件中每个数字占一行,并且没有其他非数字字符。如果不是这样,你可能需要额外处理每一行的数据。
阅读全文