【PyCharm Community Edition】:基础

Python入门 类class 基础篇

环境确定:本地 or 虚拟

如果采用PyCharm Community Edition 2022.3.2开发,一定要注意python环境是本地的还是虚拟的
在这里插入图片描述

模块安装:CMD or PyCharm方式

  • CMD指令安装
pip install xxxxxModule
  • PyCharm Community Edition窗口里安装
    在这里插入图片描述
    pycharm安装后需要重启改软件

基础知识

一、pip命令执行异常

在开发python时,经常需要安装一些库,方法就是pip指令,但是有的时候由于各种原因发现pip不能用:

二、导入improt区别

 import xx_Modul		#使用里面的函数则需要xx_Module.func
 import xx_Modul as yy	#使用里面的函数则需要yy.func
 from xx_Modul import *	#使用里面的函数则需要func

三、计算机相关属性获取

获取计算机系统相关:计算机系统名称,类型,处理器等等。
有的时候会根据计算机系统,导入.dll文件时,采用不同的方式,比如导入PCANBasic相关:

class PCANBasic:
    """
      PCAN-Basic API class implementation
    """      
    def __init__(self):
        # Loads the PCANBasic API
        #     
        if platform.system() == 'Windows':
            # Loads the API on Windows
            self.__m_dllBasic = windll.LoadLibrary("PCANBasic")
        elif platform.system() == 'Linux':
            # Loads the API on Linux
            self.__m_dllBasic = cdll.LoadLibrary("libpcanbasic.so")            
        elif platform.system() == 'Darwin':
            # Loads the API on Mac
           self.__m_dllBasic = cdll.LoadLibrary("libPCBUSB.dylib")  

四、类:class

详见Python入门 类class 基础篇

五、延迟函数(毫秒级)

可以用time.time(),乘以1000后就是ms。

六、周期任务(threading or APScheduler)

七、excel操作

第2节,使用openpyxl 创建excel 文件

    def Write_Toxlxm_Vcfg_ECUDID(self):
        # ========================================================= 1.加载已知文件(绝对地址)
        book = openpyxl.load_workbook(self.Input_xlsm.DRFileAbsDir)
        # ========================================================= 2.加载指定sheet表
        sheet = book[self.Input_xlsm.SystemDid_SheetName]
        l_nrows = sheet.max_row # 获取sheet行号
        # ========================================================= 3.在指定列插入列
        l_insert_cols = 21
        sheet.insert_cols(l_insert_cols)#在第21列出插入一列
        # ========================================================= 4.在dd行insert列写入值
        sheet.cell(dd_position, l_insert_cols).value = vcfg
        # ========================================================= 5.获取index行len_column列的值
        cell_didLen = sheet.cell(index, len_column)
        # ========================================================= 6.判断单元格是否有删除线
        if 1 == sheet.cell(index, column).font.strike:  # 单元格有删除符号
              strike = 1
        # ========================================================= 7.保存book到指定路径下指定名
        book.save('output/DingDing_DID数据链路统计表rewrite.xlsx')

八、基本函数

 did_len = str(did_len)  # 转成字符串
 if 1 == did_len.isdigit():  # 如果did_len是纯数字
     did_len = int(did_len)  # 字符串转10进制数

九、基本方法

# ======================================== 1.数字判断
if 1 == a:
	print("a = %d"%(a))
# ======================================== 2.字符串判断
if "None" in strA:
	print("strA = %s"%(strA))
	print("strA = %-*s"%(10,strA))#打印,如果strA不够10个字符,右侧填充空格
# ======================================== 3.尝试处理 try except + 元素在数组的位置
 existence = 0
 try:
     position = self.xlsm.TotalDid_Vlu_Arry.index(did_vlu)  # 在数组TotalDid_Vlu_Arry中查找元素在数组中的位置
     existence = 1
 except:
     existence = 0
# ======================================== 4.替换
vlu = vlu.replace("\n", "")#将回车\n替换成空

# ======================================== 5.移除多余的空格
levelVcfg = "".join(levelVcfg.split())  # levelVcfg字符串中去除多余的空格
lineArry = line.split(',')#字符串line以逗号','为分隔符进行拆分

# ======================================== 6.对齐(左对齐)
newL = L.ljust(20)#字符串L左对齐,不足20,用空格补齐

# ======================================== 7.求长度/个数
arryLen = len(lineArry)#求数组lineArry的个数
lineLen = len(line)#求字符串line的长度

# ======================================== 8.数组的添加元素
ret_did_arry.append(did_vlu)#数组ret_did_arry中添加一个新元素did_vlu

# ======================================== 9.重定向print打印到指定文件
 sys.stdout = open('output\loggerAll.txt', 'w')
 # 这个区间内的print就会存在loggerAll.txt文件中
 sys.stdout = sys.__stdout__
 
# ======================================== 10.函数定义 形参及返回
def GenerateDRDid_BySheet(self,xldmFile, sheetName, did_column, len_column, rw_column, vcfg_column, newofv35_column, mainGroup_column,endIden):
	#括弧内除self外,其他均为传入的形参
    ret_did_arry = []  # 定义一个数组
    ret_did_len = 0  # 定义一个变量
    #...
    return ret_did_arry , ret_did_len #返回这两个
    
# ======================================== 11.打印当前时间 精确到ms
from datetime import datetime
print("2.1 datetime.now", datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3])

# ======================================== 12.for循环
for i in range(0, self.xlsm.SystemDid_Number):#在0~self.xlsm.SystemDid_Number循环
	pass
	break#跳出循环

定义结构体数组

延伸阅读

导入串口出错

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Autosar️研究员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值