首页 电脑 电脑学堂 查看内容

两个使用Python脚本操作文件的小示例分享

2015-8-27 17:29 1613 0

摘要: 1这是一个创建一个文件,并在控制台写入行到新建的文件中. ?123456789101112131415161718192021222324252627282930313233343536#!/usr/bin/env python 'makeTextFile.py -- create text file'import os ls = os.line ...
关键词: nbsp print 文件 filename fname 结束符 fobj file input 语句

1这是一个创建一个文件,并在控制台写入行到新建的文件中.

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
33
34
35
36
#!/usr/bin/env python
  
'makeTextFile.py -- create text file'
  
import os
ls = os.linesep
  
#get filename
while True:
  fname = raw_input('Enter filename:')
  if os.path.exists(fname):
    print "ERROR: '%s' already exists" % fname
  else:
    break
  
#get file content (text) lines
all = []
print "\nEnter lines('.' by itself to quit).\n"
  
#loop until user terminates input
while True:
  entry = raw_input('>')
  if entry == '.':
    break
  else:
    all.append(entry)
  
#write lines to file with proper line-ending
fobj = open(fname, 'w')
fobj.writelines(['%s%s' % (x, ls) for x in all])
fobj.close()
print 'DONE!'
os.linesep表示行结尾标志, 用本地变量名ls代替它节省了时间,并减少了消耗系统资源.
raw_input()读入文件名
用列表all[]来保存每一行文本(它们暂时在内存中).
最后创建文件后,用writelines()把内存中的行写入打开的文件中.
2.这是一个读特定文件内容的小程序.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
  
'readTextFile.py -- read and display text file'
  
#get filename
fname = raw_input('Enter filename: ')
print
  
#attempt to open file for reading
try:
  fobj = open(fname, 'r')
except IOError, e:
  print "*** file open error:", e
else:
  #display contents to the screen
  for eachLine in fobj:
    print eachLine,
  fobj.close()

(1)注意:由于我们没有移除代表每行结束的行结束符,我们不得不抵制 print 语句自动生成的行结束符 --通过在print 语句的最后加一个逗号可以达到这一目的
print 后没有逗号是这种效果:                                                    

(2) try-except-else是一个新出現的语句,其中except子句是我们处理错误的地方.

注:两个程序在执行前,需要给文件增加可执行权限.

1
$chmod a+x filename
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部