python txt文本操作
有勇气的牛排
221
Python
2023-05-18 20:32:01
1. 读写模式
模式 |
要求 |
r |
读取文件,若文件不存在则会报错 |
w |
写入文件,若文件不存在则会先创建再写入,会覆盖原文件 |
a |
写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾 |
rb,wb |
分别于r,w类似,但是用于读写二进制文件 |
r+ |
可读、可写,文件不存在也会报错,写操作时会覆盖 |
w+ |
可读,可写,文件不存在先创建,会覆盖 |
a+ |
可读、可写,文件不存在先创建,不会覆盖,追加在末尾 |
2. 读取所有内容返回字符串
with open('test.txt', 'r') as f:
data = f.read()
print(data)
3.仅读取一行
with open('test.txt', 'r') as f:
line = f.readline()
while True:
if not line:
break
line = line[:-1] if '\n' in line else line
print(line)
line = f.readline()
4. 原样输出
with open('test.txt', 'r') as f:
for line in f.readlines():
line = line.strip('\n')
print(line)
5. 写入
with open('test.txt', 'w') as f:
f.write('你好6!')
<h2><a id="1___0"></a>1. 读写模式</h2>
<table>
<thead>
<tr>
<th>模式</th>
<th>要求</th>
</tr>
</thead>
<tbody>
<tr>
<td>r</td>
<td>读取文件,若文件不存在则会报错</td>
</tr>
<tr>
<td>w</td>
<td>写入文件,若文件不存在则会先创建再写入,会覆盖原文件</td>
</tr>
<tr>
<td>a</td>
<td>写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾</td>
</tr>
<tr>
<td>rb,wb</td>
<td>分别于r,w类似,但是用于读写二进制文件</td>
</tr>
<tr>
<td>r+</td>
<td>可读、可写,文件不存在也会报错,写操作时会覆盖</td>
</tr>
<tr>
<td>w+</td>
<td>可读,可写,文件不存在先创建,会覆盖</td>
</tr>
<tr>
<td>a+</td>
<td>可读、可写,文件不存在先创建,不会覆盖,追加在末尾</td>
</tr>
</tbody>
</table>
<h2><a id="2__11"></a>2. 读取所有内容返回字符串</h2>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-keyword">with</span> <span class="hljs-built_in">open</span>(<span class="hljs-string">'test.txt'</span>, <span class="hljs-string">'r'</span>) <span class="hljs-keyword">as</span> f:
data = f.read()
<span class="hljs-built_in">print</span>(data)
</code></div></pre>
<h2><a id="3_18"></a>3.仅读取一行</h2>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-keyword">with</span> <span class="hljs-built_in">open</span>(<span class="hljs-string">'test.txt'</span>, <span class="hljs-string">'r'</span>) <span class="hljs-keyword">as</span> f:
line = f.readline()
<span class="hljs-keyword">while</span> <span class="hljs-literal">True</span>:
<span class="hljs-keyword">if</span> <span class="hljs-keyword">not</span> line:
<span class="hljs-keyword">break</span>
line = line[:-<span class="hljs-number">1</span>] <span class="hljs-keyword">if</span> <span class="hljs-string">'\n'</span> <span class="hljs-keyword">in</span> line <span class="hljs-keyword">else</span> line
<span class="hljs-built_in">print</span>(line)
line = f.readline()
</code></div></pre>
<h2><a id="4__31"></a>4. 原样输出</h2>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-keyword">with</span> <span class="hljs-built_in">open</span>(<span class="hljs-string">'test.txt'</span>, <span class="hljs-string">'r'</span>) <span class="hljs-keyword">as</span> f:
<span class="hljs-keyword">for</span> line <span class="hljs-keyword">in</span> f.readlines():
line = line.strip(<span class="hljs-string">'\n'</span>) <span class="hljs-comment">#删除每一行最后面的换行符</span>
<span class="hljs-built_in">print</span>(line)
</code></div></pre>
<h2><a id="5__39"></a>5. 写入</h2>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-keyword">with</span> <span class="hljs-built_in">open</span>(<span class="hljs-string">'test.txt'</span>, <span class="hljs-string">'w'</span>) <span class="hljs-keyword">as</span> f:
f.write(<span class="hljs-string">'你好6!'</span>)
</code></div></pre>
留言