Python入门day4 2020-03-21

Chp6 字符串操作

>>接昨天

6.3 项目:口令保管箱

sys.argv 是获取运行python文件的时候命令行参数,且以list形式存储参数。sys.argv[0]是程序名,之后是输入参数。>>see more

  • 在cmd中快速运行pw.py程序:
    1. 新建文件夹保存要运行的.py程序和其.bat脚本,把该路径添加到系统环境变量中;
    2. bat脚本pw.bat内容为:
@python3.8.exe F:\pythonScripts\pw.py %*
@pause
  1. pw.py内容为:
#! python3
# pw.py - An insecure password locker program.

PASSWORDS={'email':'FAjiegie7*()',
           'bolg':'daghadhoeihoe4154348',
           'luggage':'adfji8w78'}

import sys,pyperclip
if len(sys.argv)<2:
     print('Usage:python pw.py [account]- copy account password')
     sys.exit()

account= sys.argv[1] # account name

if account in PASSWORDS:
     pyperclip.copy(PASSWORDS[account]) # 复制密码
     print('Password for '+account+' copied to clipboard.')
else:
     print('There is no account named '+account+' .')
  1. 该程序调试不在shell内,而在cmd内,注意输入关键字为程序名 关键字(键),例如pw email

6.4 项目:添加无序列表

Tips:

  1. 使用pyperclip.copy()、pyperclip.paste()传递要处理的和处理后的文本(字符串);
  2. 使用split()和join()对文本进行分割处理,处理后合并。
#! python3
# bulletPointAdder.py - AddsWikipedia bullet points to the start
# of each line of text on the clipboard.

import pyperclip
text=pyperclip.paste() # 先将复制的文本粘贴进来处理
# TODO: Seperate lines and add stars.
lines=text.split('\n') # 分隔字符串为字符串列表
for i in range(len(lines)):
     lines[i]='* '+lines[i] # 每一行添加*
text='\n'.join(lines)
     
pyperclip.copy(text) # 将处理好的文本复制

6.7 实践项目:表格打印

右对齐,把列表中最长字符串宽度作为每一列的宽度

tableData=[['apples','oranges','cherries','bananas'],
          ['Alice','Bob','Carol','David'],
          ['dogs','cats','moose','goose']]

def printTable(table):
 colWidths = [0]*len(table) # 找出每个列表内最长字符串的宽度 [0,0,0]
 #colWidths = [10,15,20]
 for k in range(len(colWidths)):
   for n in range(len(table[0])):
     if colWidths[k] < len(table[k][n]):
       colWidths[k]=len(table[k][n]) # 把一个列表中最长的字符串宽度送入colWidths中
   
 for i in range(len(table[0])):
     for j in range(len(table)):
       print(table[j][i].rjust(colWidths[j]),end=' ')
     print('')

printTable(tableData)

Results:

  apples Alice  dogs 
 oranges   Bob  cats 
cherries Carol moose 
 bananas David goose 

你可能感兴趣的:(Python入门day4 2020-03-21)