在工作过程中,经常会用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的内容,不是p哦
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的语句输出出来
页面更新:2024-04-06
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号