python模块
import sys print('命令行参数如下:') for i in sys.argv: print(i) print('\n\nPython 路径为:', sys.path, '\n')
|
引用几个指定函数
from fibo import fib, fib2
fib(500)
内置的函数 dir() 可以找到模块内定义的所有名称
- str(): 函数返回一个用户易读的表达形式。
- repr(): 产生一个解释器易读的表达形式。
>> s = 'Hello, Runoob' >>> str(s) 'Hello, Runoob' >>> repr(s) "'Hello, Runoob'" >>> str(1/7) '0.14285714285714285' >>> x = 10 * 3.25 >>> y = 200 * 200 >>> s = 'x 的值为: ' + repr(x) + ', y 的值为:' + repr(y) + '...' >>> print(s) x 的值为: 32.5, y 的值为:40000... >>> ... hello = 'hello, runoob\n' >>> hellos = repr(hello) >>> print(hellos) 'hello, runoob\n' >>> ... repr((x, y, ('Google', 'Runoob'))) "(32.5, 40000, ('Google', 'Runoob'))"
|
rjust()
方法, 它可以将字符串靠右, 并在左边填充空格。
>> for x in range(1, 11): ... print(repr(x).rjust(2), repr(x*x).rjust(3), end=' ') ... ... print(repr(x*x*x).rjust(4)) ... 1 1 1 2 4 8 3 9 27 4 16 64 5 25 125 6 36 216 7 49 343 8 64 512 9 81 729 10 100 1000
|
>>> print('{}网址: "{}!"'.format('菜鸟教程', 'www.runoob.com')) 菜鸟教程网址: "www.runoob.com!" >>> print('{0} 和 {1}'.format('Google', 'Runoob')) Google 和 Runoob >>> print('{1} 和 {0}'.format('Google', 'Runoob')) Runoob 和 Google
|
在 : 后传入一个整数, 可以保证该域至少有这么多的宽度。 用于美化表格时很有用。
>>> table = {'Google': 1, 'Runoob': 2, 'Taobao': 3} >>> for name, number in table.items(): ... print('{0:10} ==> {1:10d}'.format(name, number)) ... Google ==> 1 Runoob ==> 2 Taobao ==> 3
|
读取键盘输入
str = input(“请输入:”);
读和写文件
open(filename, mode)
- r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
- w
打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- a
打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
打开一个文件
f = open("/tmp/foo.txt", "w") f.write( "Python 是一个非常好的语言。\n是的,的确非常好!!\n" ) str = f.read()//用 f.read(size), 这将读取一定数目的数据, 然后作为字符串或字节对象返回。 print(str)
|
关闭打开的文件
f.close()
f.readline() 会从文件中读取单独的一行。换行符为 ‘\n’。f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。
如果设置可选参数 sizehint, 则读取指定长度的字节, 并且将这些字节按行分割。
str = f.readline()
print(str)
- f.tell() 返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。
f.seek() 如果要改变文件指针当前的位置, 可以使用 f.seek(offset, from_what) 函数。
from_what
的值, 如果是 0 表示开头, 如果是 1 表示当前位置, 2 表示文件的结尾,
>>> f = open('/tmp/foo.txt', 'rb+') >>> f.write(b'0123456789abcdef') 16 >>> f.seek(5) 5
|
当处理一个文件对象时, 使用 with 关键字是非常好的方式。
文件自动close
with open(‘/tmp/foo.txt’, ‘r’) as f:
read_data = f.read()
writelines()
方法用于向文件中写入一序列的字符串。
fo = open("test.txt", "w") print ("文件名为: ", fo.name) seq = ["菜鸟教程 1\n", "菜鸟教程 2"] fo.writelines( seq )
|
关闭文件
fo.close()
read()
- 如果未给定参数 size 或 size 为负数则读取文件所有内容。
fo = open("runoob.txt", "r+") print ("文件名为: ", fo.name)
line = fo.read(10) print ("读取的字符串: %s" % (line))
|
fo = open("runoob.txt", "r") print ("文件名为: ", fo.name) for line in fo.readlines(): line = line.strip() print ("读取的数据为: %s" % (line))
fo.close()
|
- tell() 方法返回文件的当前位置,即文件指针当前位置。
truncate() 方法用于从文件的首行首字节开始截断,截断文件为 size 个字节,
无 size 表示从当前位置截断; 截断之后 V
后面的所有字节被删除,其中 Widnows 系统下的换行代表2个字节大小。 。
捕获异常
while True: try: x = int(input("请输入一个数字: ")) break except ValueError: print("您输入的不是数字,请再次尝试输入!")
|
以下实例在 try 语句中判断文件是否可以打开,如果打开文件时正常的没有发生异常则执行 else 部分的语句,读取文件内容
for arg in sys.argv[1:]: try: f = open(arg, 'r') except IOError: print('cannot open', arg) else: print(arg, 'has', len(f.readlines()), 'lines') f.close()
try: runoob() except AssertionError as error: print(error) else: try: with open('file.log') as file: read_data = file.read() except FileNotFoundError as fnf_error: print(fnf_error) finally: print('这句话,无论异常是否发生都会执行。')
raise 语句抛出一个指定的异常。
|
字符串操作
list=['a','mmmm','iope','hero','koplk'] print(','.join(list)) s=','.join(list) print(s.split(','))
|