Python 的模块导入与使用
导入和使用模块module
例子:
# coding=utf-8
__author__ = 'zyt'
import sys
import os
# 输入文件名
fname = raw_input('input a new file name:')
if os.path.exists(fname):
if raw_input("WARN:'%s' already exist, force using it?(y/n)" % fname) != 'y':
print 'quit'
sys.exit(0)
# 输入内容
lines = []
print "Enter lines ('.' by itself to quit):\n"
while True:
entry = raw_input('> ')
if entry == '.':
break
else:
lines.append(entry)
# 写文件
fobj = open(fname, 'w')
fobj.writelines(['%s%s' % (x, os.linesep) for x in lines])
fobj.close()
print 'WRITE DONE'
# 读文件
try:
fobj = open(fname, 'r')
except IOError, e:
print 'file open error:', e
else:
for eachLine in fobj:
print eachLine,
fobj.close()
print 'READ DONE'
模块中标示符的作用域
在一个模块中,我们可能会定义很多函数和变量。但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在Python中,是通过前缀 _
来实现的。
- 正常的函数和变量名是公开的(public),比如:
abc
,x123
,PI
等。 - 类似
_xxx
和__xxx
这样的函数或变量就是非公开的(private),不应该(而不是不能)被直接引用。 - 类似
__xxx__
这样的变量是特殊变量,可以被直接引用,但是有特殊用途,用户自定义标示符尽量不要这样。