python读取文件,分析目录,分类文档名称,处理格式

准备整理下团队发布的程序信息

使用python分析了下发布的svn信息

使用到相关知识

OS读取本机svn文件下目录,并对不同目录进行分类

读取各目录下文件,截取文件名,转大写

os.listdir可以读取目录,也可以读取文件,细节自行百度

数组存储各种类型文件

str.index可以索引特殊字符位置,共代码切片使用

        注意:index只能索引字母位置,如果索引字符串使用find

str_1 = 'wo shi yi zhi da da niu '
char_1 = 'xx'
nPos = str_1.find(char_1)
print(nPos)
# 未索引到 返回 -1

str[0:10]:字符切片

str.upper():转大写

str = "www.runoob.com"
print(str.upper())          # 把所有字符中的小写字母转换成大写字母
print(str.lower())          # 把所有字符中的大写字母转换成小写字母
print(str.capitalize())     # 把第一个字母转化为大写字母,其余小写
print(str.title())          # 把每个单词的第一个字母转化为大写,其余小写 

处理代码

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 打开文件
path = “xxx/xxxx/xxxx”#敏感信息自行脑补
dirs = os.listdir(path)

# 输出所有文件和文件夹
table = []
view = []
package = []
trigger = []
path1 = ''
for file in dirs:
   print (file)
   if file == 'table':
       path1 = path + '/' + file
       for f in os.listdir(path1):
           table.append(f)

   elif file == 'view':
       path1 = path + '/' + file
       for f in os.listdir(path1):
           view.append(f)

   elif file == 'package':
       path1 = path + '/' + file
       for f in os.listdir(path1):
           package.append(f)

   elif file == 'trigger':
       path1 = path + '/' + file
       for f in os.listdir(path1):
           trigger.append(f)

print('----table-----')
for i in table:
    print(i)
    print(i.index('.'))
    print(i[0:i.index('.')].upper())
    print('===')
# print('----view-----')
# for i in view:
#     print(i)
# print('----package-----')
# for i in package:
#     print(i)
# print('----trigger-----')
# for i in trigger:
#     print(i)

字符处理操作

Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)   
 
 
去空格及特殊符号  
s.strip() .lstrip() .rstrip(',')   
 
复制字符串  
#strcpy(sStr1,sStr)   
sStr= 'strcpy'   
sStr = sStr  
sStr= 'strcpy'   
print sStr   
 
连接字符串  
#strcat(sStr1,sStr)   
sStr= 'strcat'   
sStr = 'append'   
sStr+= sStr   
print sStr  
 
查找字符  
#strchr(sStr1,sStr)   
sStr= 'strchr'   
sStr = 's'   
nPos = sStr1.index(sStr)   
print nPos   
 
比较字符串  
#strcmp(sStr1,sStr)   
sStr= 'strchr'   
sStr = 'strch'   
print cmp(sStr1,sStr)  
 
扫描字符串是否包含指定的字符  
#strspn(sStr1,sStr)   
sStr= '1345678'   
sStr = '456'   
#sStrand chars both in sStrand sStr   
print len(sStrand sStr)  
 
字符串长度  
#strlen(sStr1)   
sStr= 'strlen'   
print len(sStr1)   
 
将字符串中的大小写转换  
#strlwr(sStr1)   
sStr= 'JCstrlwr'   
sStr= sStr1.upper()   
#sStr= sStr1.lower()   
print sStr  
 
追加指定长度的字符串  
#strncat(sStr1,sStr,n)   
sStr= '1345'   
sStr = 'abcdef'   
n = 3 
sStr+= sStr[0:n]   
print sStr  
 
字符串指定长度比较  
#strncmp(sStr1,sStr,n)   
sStr= '1345'   
sStr = '13bc'   
n = 3 
print cmp(sStr1[0:n],sStr[0:n])   
 
复制指定长度的字符  
#strncpy(sStr1,sStr,n)   
sStr= ''   
sStr = '1345'   
n = 3 
sStr= sStr[0:n]   
print sStr  
 
将字符串前n个字符替换为指定的字符  
#strnset(sStr1,ch,n)   
sStr= '1345'   
ch = 'r'   
n = 3 
sStr= n * ch + sStr1[3:]   
print sStr  
 
扫描字符串  
#strpbrk(sStr1,sStr)   
sStr= 'cekjgdklab'   
sStr = 'gka'   
nPos = -1 
for c in sStr1:   
     if c in sStr:   
         nPos = sStr1.index(c)   
         break   
print nPos   
 
翻转字符串  
#strrev(sStr1)   
sStr= 'abcdefg'   
sStr= sStr1[::-1]   
print sStr  
 
查找字符串  
#strstr(sStr1,sStr)   
sStr= 'abcdefg'   
sStr = 'cde'   
print sStr1.find(sStr)   
 
分割字符串  
#strtok(sStr1,sStr)   
sStr= 'ab,cde,fgh,ijk'   
sStr = ','   
sStr= sStr1[sStr1.find(sStr) + 1:]   
print sStr  
 或者   
s = 'ab,cde,fgh,ijk'   
print(s.split(','))   
 
连接字符串  
delimiter = ','   
mylist = ['Brazil', 'Russia', 'India', 'China']   
print delimiter.join(mylist)   
PHP 中 addslashes 的实现  
def addslashes(s):   
     d = {'"':'\\"', "'":"\\'", "\0":"\\\0", "\\":"\\\\"}   
    return ''.join(d.get(c, c) for c in s)   
s = "John 'Johny' Doe (a.k.a. \"Super Joe\")\\\0"   
print s   
print addslashes(s)   
 
只显示字母与数字  
def OnlyCharNum(s,oth=''):   
     s = s.lower();   
    fomart = 'abcdefghijklmnopqrstuvwxyz013456789'   
    for c in s:   
        if not c in fomart:   
             s = s.replace(c,'');   
     return s;   
print(OnlyStr("a000 aa-b"))   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值