#!/usr/bin/env python
'makeFile.py -- create a file'
import os
ls = os.linesep
# get filename
while True:
fname = raw_input('Input an unused file name >')
if os.path.exists(fname):
print "ERROR: '%s' already exists" %fname
else:
break
# get file content lines
all = []
print "\nEnter lines (input '.' 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'
if __name__ == '__main__':
print 'innter module' </pre>
上面的代码用来创建一个新文件并写入文本,第6行给os模块中的linesep起了给别名ls,这样做的好处一方面简化了长长的变量名,另一方面也是主要原因用于提高代码性能,因为访问这个变量时首先要检测os模块,然后再解析linesep,linesep是行结束符标志,linux下是'\r',windows下是'\r\n',用本地变量保存更好。第34行使用了__name__,这主要用于代码内测试,它的值是__main__,但python文件通常作为模块被其它文件import,这时__name__的值是这个模块名,就不会执行模块内的测试代码了。
#!/usr/bin/env python
'readFile.py -- read and display 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()
上面的代码用来读文件并显示其内容到屏幕上,使用了try-except-else异常处理机制。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。