python集腋成裘

常用语句

1 记录脚本命令的自定义函数

把每次脚本执行的命令和参数记保存到一个文件里,以便以后查看

import sys,time
  def command_log_record(cmd):
  """ This is to record the command lint to a log file
  """
  cmd_log = 'Issued' # the log file name
  cmd_file=open(cmd_log,'a+')
  localtime = time.asctime( time.localtime(time.time()))
  cmd_file.write('---- Time : ')
  cmd_file.wirte(localtime)
  cmd_file.wirte('\n')
  cmd_file.wirte('python ')
  for i in cmd:
    cmd_file.wirte('i')
    cmd_file.wirte(' ')
  cmd_file.wirte('\n')
  cmd_file.close()

#使用时放到main的最前头
def main(argv):
  """ main function """
  dir_path = os.getcmd()
  cmommand_log_record(sys.argv[0:])
  ...

if __name__ == '__main__'
  main(sys.argv[1:])

 

2 字符串处理函数

2.1 字符串分割 split()

str = "Num1-abcmm \nNum2-abc \nNum3-abcnn";
print str.split( ); # 以空格为分隔符,包含 \n
print str.split(' ', 1 ); # 以空格为分隔符,分隔成两个
'''
输出结果:
['Num1-abcmm', '\nNum2-abc', '\nNum3-abcn']
['Num1-abcmm', '\nNum2-abc \nNum3-abcn']

2.2 删除首尾特定字符 strip()

strip() 移除字符串头尾制定的字符或字符序列,默认为空格或换行符。该函数不能删除中间部分

#str.strip([chars])
str1="e my best life"
print str1.strip('e') # delete 首尾 'e'

str2=" Hello world "
print str2.strip( ) # 删除首尾' '

3 脚本中执行系统命令

import os
os.system("cp -rf fold_a fold_b")

4 range() 列表产生函数

range() 函数可创建一个整数列表,一般用在 for 循环中。

函数语法
range(start, stop[, step])
参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
    实例
>>>range(10) # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11) # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5) # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3) # 步长为 3
[0, 3, 6, 9]
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]

#以下是 range 在 for 中的使用,循环出runoob 的每个字母:
>>>x = 'runoob'
>>> for i in range(len(x)) :
... print(x[i])

5 文件操作

input = open('filename','r') # 打开文件,只读 
input = open('filename') # 打开文件,只读
output = open('filename','w') # 打开文件,可写
output.close() #关掉
aStr = input.readline() #读取文件的一行
aStr = input.read() #读取整个文件到一个string里
aStr = input.read(N) #读取文件的N个char到一个string里
aList = input.readlines() #读取整个文件到行内容字符串列表里
input.seek(N) #change file position to offset N for next operation

for line in open('data_file') : use line  # 一行行的读取文件内容

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注