一级大头兵Python常用操作汇总

在工作过程中,经常会用python 执行一些自动化,脚本操作。非Python专业大头兵,最近汇总的一些常用操作。

1. 如何在list中查找

for x in []:

if x meet condition:

#do sone action

2. 字符串转换成数字

s=”99”

int(s)

3. python 生产随机数

import random

random.randint(1, 50) #1~50之间的随机数

4. 创建文件夹

os.mkdir()

创建子目录

os.makedirs()

os.makedirs('temp/1/1/')

5. 检查文件夹是否存在

os.path.exists

6. 检查文件夹是否存在

枚举目录

os.walk(dir)

def enumDirs(dir):

abs_files = []

for root, dirs, files in os.walk(dir):

for file in files:

s = os.path.join(root, file)

print(f'abs file = {s}')

abs_files.append(s)

pass

或者

os.listdir(dir) #只能获取档次dir的所有文件,文件夹

7. list获取文件绝对路径

listdir(dir)

for item in dir:

absPath = os.path.join(dir, item)

#absPath 可以用

8. 删除子目录,还有子文件

os.removedirs(dir) #依赖没有子文件

shutil.rmtree(dir) #直接全部干掉

9. 检查是否是一个文件

os.path.isfile(filename)

10. 生产一个随机数

import random

random.randint(0, 9) #生成0,9之间的随机数

11. 读写txt文件

按行读取文件

with open(filename, ‘r’, encoding=’utf-8’) as file_to_read:

while True:

lines = file_to_read.readline()

if not lines:

break;

process_line(lines)

写文件

with open(filename, ‘w’) as file_to_write:

file_to_write.write(‘this is a line’)


12. python unitest 传递参数

可以通过命令行传递参数,也可以使用环境变量来传递参数

windows

SET HOST=localhost


from os import environ

print(envirom[‘HOST’])


13. list拼接字符串

str = ‘’

list = [‘123’,’2222’]

str.join(list)

#output 1232222


14. 日期字符串转date


def str2date(s):

#2021-11-05 06:35:18.370

try:

return datetime.datetime.strptime(s,'%Y-%m-%d %H:%M:%S.%f')

except ValueError:

print('convert str to date failed.%s' %(s))

print(s)

sys.exit(-1)

return ''

15. timer


import threading

def func():

print(“timer cb”)

timer = threading.Timer(5, func)

timer的基本用法

传递参数


def func(*argc **kvgc):

print()

timer = threading.Timer(5, func, (), {“param1”:1})


16. 执行windows cmd命令

import subprocess

return subprocess.Popen(cmd, shell=True, stdout=None)

os.system(cmd)

执行并且返回output内容

def exec(cmd):

output = subprocess.getoutput(cmd)

return output


17. python 获取html表单

import pandas as pd

simpsons = pd.read_html(‘xxxxx.html’)

只能获取html里面有table的内容,不是div哦


18. 命令行参数click

经常写脚本处理相关任务的时候,比如会用到命令行参数,可以用getopt库,这里使用click库,click使用起来非常方便,功能超级强大

@click.group()

def helper():

pass


@click.command(‘—type’)

def work():

pass


helper.add(work)


if __name__ == “__main__”:

helper()


官方网址

https://click.palletsprojects.com/en/8.1.x/

19. 定义一个属性


class ebook(Base):

__tablename__ = 'book'

@property

def helper():title(self):

pass



#二进制方式读取

With open(“filename.zip”, mode=”rb”) as zip_file:

context = zip_file.read()


21. 获取文件大小


Import os

Statinfo = os.state(filename)

os.st_size



22. 获取类名和方法名称


logger.info("Enter %s:%s"%(self.__class__.__name__,sys._getframe().f_back.f_code.co_name))

logger.info("Leave %s:%s"%(self.__class__.__name__,sys._getframe().f_back.f_code.co_name))


23. 去掉字符串的前后空格换行

str.strip()


24. 查找整个单词


def findWholeWord(w):

return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search


a = findWholeWord(‘aaaa’)(str)

if a :

find it

else

No find



25. 字符串startswith


判断字符串是否xxx开始

27. python logger的使用


import logging


logging.basicConfig(level=logging.INFO, format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s')

logger = logging.getLogger(__name__)

不写什么大型的代码,直接贴代码,打log


28. 好用的f

打印log,或者debug 的时候,很多中方法f用起来非常方便

s = ‘helloworld’

print(f’string = {s}’) # string = helloworl


29. 好用的pytest


如果写的代码多了,一般写一些算法函数的时候,要么单独搞个test来测试,或者简单点,搞个单元测试。在工作目录里面创建一个test_xxx.py文件,然后倒入你要测试的函数,类,直接写测试方法。写完之后在目录执行pytest -s 就可以自动执行

备注:-s 会把print的语句输出出来

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章