说明:
相比其他语言python真的简洁很多,自己往前在学习c语言的过程中,起码要到很后面很后面才提起文件操作,但python的快速入门却以一种非常简洁的方法让你对文件操作有个体验,当然这是在linux环境下,不过不得不说,linux环境下进行编程的学习,确实是要比windows下面可以学到更多知识,下面的两个例子都是来自《python核心编程》这本书中,真的非常经典!
一.创建并写入文件的实例
直接给代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<code>#!/usr/bin/env python</code>
<code>'maketextfile.py -- create text file'</code>
<code>import</code> <code>os</code>
<code>ls = os.linesep</code>
<code># </code><code>get</code> <code>filename</code>
<code>while</code> <code>true:</code>
<code> </code><code>fname = raw_input(</code><code>'please input the filename: '</code><code>)</code>
<code> </code><code>if</code> <code>os.path.exists(fname):</code>
<code> </code><code>print </code><code>"error: '%s' already exists"</code> <code>% fname</code>
<code> </code><code>else</code><code>:</code>
<code> </code><code>break</code>
<code># </code><code>get</code> <code>file content (text) lines</code>
<code>all = []</code>
<code>print </code><code>"\nenter lines ('.' by itself to quit)\n"</code>
<code># loop until user terminates input</code>
<code> </code><code>entry = raw_input(</code><code>'> '</code><code>)</code>
<code> </code><code>if</code> <code>entry == </code><code>'.'</code><code>:</code>
<code> </code><code>all.append(entry)</code>
<code># write lines to file </code><code>with</code> <code>proper line-ending</code>
<code>fobj = open(fname, </code><code>'w'</code><code>)</code>
<code>fobj.writelines([</code><code>'%s%s'</code> <code>% (x, ls) </code><code>for</code> <code>x </code><code>in</code> <code>all])</code>
<code>fobj.close()</code>
<code>print </code><code>'done!'</code>
保存为.py文件,并根据提示运行,即可以创建一个含有你输入内容的文件。
二.文件读取和显示实例
<code>'readtextfile.py -- read and display text file'</code>
<code>fname = raw_input(</code><code>'enter filename: '</code><code>)</code>
<code>print</code>
<code># attempt to open file </code><code>for</code> <code>reading</code>
<code>try</code><code>:</code>
<code> </code><code>fobj = open(fname, </code><code>'r'</code><code>)</code>
<code>except ioerror, e:</code>
<code> </code><code>print </code><code>"*** file open error:"</code><code>, e</code>
<code>else</code><code>:</code>
<code> </code><code># display contents to the screen</code>
<code> </code><code>for</code> <code>eachline </code><code>in</code> <code>fobj:</code>
<code> </code><code>print eachline,</code>
<code> </code><code>fobj.close()</code>
就读取文件本身来说并不需要那么多代码,只是这里还多加了异常处理的功能,非常人性化!保存为.py文件,可以读取上面创建的文件来尝试一下。