python读取txt文件并输出为txt文件,源文件中句末以0或1做判断,要求分别输出一个全部文本的txt文件和一个判断数字的txt文件
时间: 2024-05-03 11:18:38 浏览: 80
假设源文件为"source.txt",输出全部文本的文件为"output_all.txt",输出判断数字的文件为"output_num.txt",可以使用以下代码实现:
```python
with open('source.txt', 'r') as f_in, open('output_all.txt', 'w') as f_out_all, open('output_num.txt', 'w') as f_out_num:
for line in f_in:
f_out_all.write(line)
if line[-2] == '0' or line[-2] == '1':
f_out_num.write(line[-2]+'\n')
```
其中,使用`with open()`语句打开三个文件,分别为读取源文件、写入全部文本的文件和写入判断数字的文件。然后使用`for`循环遍历源文件中的每一行,将其写入全部文本的文件中。最后,判断每一行的倒数第二个字符是否为0或1,如果是则将其写入判断数字的文件中。
注意,以上代码仅适用于每一行都以0或1结尾的情况。如果源文件中有行不符合此规则,程序可能会出错。
相关问题
Python现有一文本文件/webpage.txt,是从某网站保存下来的html源文件,文件编码为gb18030 编写程序,打开并读取该文件内容,将其中所有中文连接成一个字符串输出。 提示:中文标准暂定为 ASCII 码值超过128且排除以下字符 :,!…?!“”、《》 重要提示:打开的文件必须关闭!!!
好的,我来写一个Python程序来实现这个功能:
```python
import re
filename = 'webpage.txt'
with open(filename, 'r', encoding='gb18030') as file:
content = file.read()
chinese = re.findall('[\u4e00-\u9fa5]+', content)
# 过滤掉标点符号
chinese = [c for c in chinese if c not in ',!…?!“”、《》']
result = ''.join(chinese)
print(result)
```
这段程序首先打开指定的文件,读取其中的内容。然后使用正则表达式 `[\u4e00-\u9fa5]+` 匹配所有的中文,并将其保存到列表 `chinese` 中。接着,我们过滤掉标点符号,然后将所有中文连接成一个字符串 `result` 并输出。最后记得关闭文件。
使用Python并不使用import,完成该题:现有一文本文件/webpage.txt,是从某网站保存下来的html源文件,文件编码为gb18030 编写程序,打开并读取该文件内容,将其中所有中文连接成一个字符串输出。 提示:中文标准暂定为 ASCII 码值超过128且排除以下字符 :,!…?!“”、《》 重要提示:打开的文件必须关闭!!!
好的,以下是代码实现:
```python
with open('webpage.txt', 'r', encoding='gb18030') as f:
chinese_str = ''
for line in f:
for word in line:
if 128 < ord(word) < 256 and word not in ',!…?!“”、《》':
chinese_str += word
print(chinese_str)
```
这个程序会打开名为 'webpage.txt' 的文件,并按行读取其中的内容。然后,它会遍历每个字符,如果这个字符是中文,则将其添加到一个字符串 `chinese_str` 中。
需要注意的是,为了确保程序能够正确地处理中文字符,我们使用了 `encoding='gb18030'` 来指定文件编码。此外,我们还使用了 `with open()` 语句来打开文件,并在处理完文件后自动关闭它,这是一种良好的编程习惯。
阅读全文