python txt文本操作
        
                
                    
                    有勇气的牛排
                
            
                    
                    475
                
            
                    
                    
                    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>
            
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
            
                
                
                
            
        
    
    
    
 
评论区