![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
TineAine
春随柳絮散不尽,君若烟火是流年
展开
-
Python 读文件报错:UnicodeDecodeError: ‘gb2312‘ codec can‘t decode
原因编码格式错误,比如文件为gbk,却使用gb2312读取就会出现这种错误解决读取时指定编码格式为 gbk 即可,如果还是读取报错,可以尝试使用 utf-8 等常用编码测试原创 2021-04-22 10:55:48 · 4043 阅读 · 0 评论 -
Python日期时间操作
# coding=utf-8# 主核心类import datetimeclass idt: def __init__(self): pass # 获取今天的日期和时间 def getToday(self, format="%Y-%m-%d %H:%M:%S"): return datetime.datetime.now().strftime(format) # 获取今天的日期 def getDate(self, form原创 2020-12-21 11:39:10 · 118 阅读 · 0 评论 -
Python调用redis
# coding=utf-8import redis# host是要连接的主机名(一般是ip)# port是默认开放的端口# db是默认的数据库r = redis.StrictRedis(host="localhost", port=6379, db=0)r.set("keys", "Values")print(r.get("keys"))原创 2020-12-21 11:35:56 · 149 阅读 · 0 评论 -
Python库之Yagmail
Yagmailyagmail是由Pascal van Kooten制作的简单邮件系统,目的是让发送电子邮件的过程尽可能的简单yagmail支持通过密码访问发送者账户,虽然文档中显示可以支持keyring/OAuth2,但对于大部分人来说这并不适合,因此本文仅讲述通过密码的方式连接yagmail文档支持库pip界面基本流程1.安装Yagmail支持库(pip方式)如果在国内,建议在安装任何库前先修改镜像库地址,具体请参阅pip篇python2(Linux)pip install ya原创 2020-12-14 10:12:25 · 6322 阅读 · 0 评论 -
Python 元组的使用
元组应用场景不可修改的数据即可使用元组定义元组# 定义多数据的元组t1 = (1,2,3)# 单数据最后必须要加上逗号t2 = (1,)# 不加逗号就只是一个基本类型的数据(不是元组)t3 = (1)常用方法index/count/len# 和列表的操作是一样的name_list = ("张三", "李四", "王五", "赵六", "王五")# 所在位置 indexprint(name_list.index("张三"))# 出现的次数 countprint(name_l原创 2020-12-11 09:59:23 · 112 阅读 · 0 评论 -
Python 列表的使用
列表应用场景需要存储多个不同的变量语法# 定义列表# 存储的数据类型可以不同# 但尽可能存储相同的数据类型l = [123, 456, 789, "hello", 3.14]下标# 定义一个列表name_list = ["张三", "李四", "王五", "赵六"]print(name_list[0])print(name_list[1])print(name_list[2])print(name_list[3])常用方法index/count/lenname_list原创 2020-12-11 09:58:57 · 598 阅读 · 0 评论 -
Python 字符串
字符串认识字符串# 单引号,双引号和三引号都可以代表字符串# 三引号支持回车换行字符串输出name = "Tom"print(name)print("name is %s" %name)print(f"name is {name}")字符串输入通常使用input接受用户输入mess = input("请输入信息")print(mess)下标下标也称为索引string = "Hello"# 获取特定下标的数据print(string[0])切片string = "原创 2020-12-09 16:16:36 · 72 阅读 · 0 评论 -
Python 循环
循环Whilewhile 条件: 重复的部分案例:index = 5while index > 0: print("XXXXXXX") index -= 1退出循环break直接退出continue跳出本次循环For循环for 临时变量 in 数据序列: 重复执行的代码str1 = "Hello"for char in str1: print(char)for循环也可以使用break和continueelsewhile原创 2020-12-09 16:16:04 · 59 阅读 · 0 评论 -
Python 条件语句
条件语句语法if 条件: 条件成立else: 条件不成立if True: print("条件成立")解释器仅仅会执行条件成立的代码,其他分支解释器不会执行多重判断if 条件1: 成立执行elif 条件2: 成立执行else: 不成立执行化简age <= 60 and age >= 18# 可以简化为:18 <= age <= 60嵌套if 条件: if 条件: 条件成立 els原创 2020-12-09 16:15:05 · 66 阅读 · 0 评论 -
Python 变量
变量变量定义# 变量名 = 值# 不能以数字开头# 由数字,字母,下划线组成# 不能使用关键字# 区分大小写var = 123命名习惯见名知意大驼峰(Visual Studio C# 默认)小驼峰(Java常用)下划线使用变量var = 123print(var)var = 456print(var)Bug与Debug# 程序中的错误就是Bug,解决错误就是Debug# 后续会详解断点点击行号右侧即可打断点数据类型[外链图片转存失败,源站可能有防盗链原创 2020-12-09 16:14:11 · 81 阅读 · 0 评论 -
Python获取周几日期
class Date: # 周一 Monday = "" # 周二 Tuesday = "" # 周三 Wednesday = "" # 周四 Thursday = "" # 周五 Friday = "" # 周六 Saturday = "" # 周天 Sunday = "" def __init__(self): now = datetime.datetime.now(原创 2020-11-18 15:47:38 · 568 阅读 · 0 评论 -
在Python中调用C# dll功能库
测试的C#库在我另一篇文章里:点击访问必须首先安装pythonnet,不要直接用Pycharm安装clr库报错一般更新一下pip或切换到国内源即可如果安装了Anaconda,也有可能造成导入失败from clr import AddReference# 指定要引用的库# 默认情况下运行库都会保存到这个目录AddReference(r"D:\Coding\imtools\C Sharp\Automation\Automation\bin\Debug\\Automation")#..原创 2020-10-30 14:57:00 · 553 阅读 · 0 评论 -
Pyinstaller打包文件过大
之前打包的文件只有10兆左右,但最近修改了一些代码,突然发现打包的文件高达350兆,意外发现pyinstaller在用Anaconda的环境,解决方法只要在新计算机或虚拟机中搭建一个纯净的python环境即可另外在引入库时尽可能用from xxx import xxx的方式,不要直接import xxx...原创 2020-10-27 10:24:52 · 317 阅读 · 0 评论 -
Python根据百分比模拟点击
很多情况下模拟点击会受分辨率的影响,但我们可以根据百分比来进行操作class OperationTools: resolution = None mouse = None def __init__(self): # 获取屏幕分辨率 self.resolution = SystemTools.get_real_resolution() # 使鼠标移动到指定的坐标 # 参数(x坐标,y坐标,移动时间:默认为0) de..原创 2020-10-22 10:07:58 · 280 阅读 · 0 评论 -
Python获取系统分辨率
class SystemTools: # 获取当前适用的分辨率 @staticmethod def get_real_resolution(): hDC = win32gui.GetDC(0) w = win32print.GetDeviceCaps(hDC, win32con.DESKTOPHORZRES) h = win32print.GetDeviceCaps(hDC, win32con.DESKTOPVERTRES) .原创 2020-10-22 10:03:58 · 1586 阅读 · 0 评论 -
Python 操作WPS开发API
东西太多懒得改格式了,如果不舒服可以点这里看MD格式的WPS 重要API(表格部分)开始简介本文中所有的测试都是在Python 3.8.5的环境中进行实现的,IDE为Pycharm引用的库主要是Pywin32,通过该库直接调用WPS提供的开发API,因此必须在计算机上安装WPS,迁移时记得在目标主机上安装需要的依赖库(当然也可以直接打包成exe)由于这种方式直接就是操纵WPS,因此完全可以用一样的方式去调用Excel,但需要根据Office官方提供的二次开发库做一小部分修改(迁.原创 2020-08-20 17:14:00 · 14404 阅读 · 3 评论 -
Windows下 PIP快速切换到国内源
Pip默认是从国外的服务器进行下载,因此最好是通过修改本地的配置使pip从国内的源下载国内常用镜像清华:https://pypi.tuna.tsinghua.edu.cn/simple 中科大:https://pypi.mirrors.ustc.edu.cn/simple/ 中科技:http://pypi.mirrors.ustc.edu.cn/simple/ 阿里:http://mirrors.aliyun.com/pypi/simple/ 豆瓣:http://pypi.doub...原创 2020-08-19 17:21:15 · 266 阅读 · 0 评论 -
Python调用WPS API
Python调用WPS API完整文档最佳实践WPS在对于Office或WPS的操作场景中,最适合的其实是Pywin32的方式,因为这种方式可以直接调度由原厂商开放的API,目前我们的场景中最常用到的是WPS,而WPS也开放了相关的二次开发文档WPS 开放文档通过这份文档,我们几乎可以通过Python实现所有图形界面可以进行的操作,尽管WPS官方文档中没有给出Python的文档(WPS的文档中提供了CPP和Java的文档和案例),但这并不妨碍我们进一步的去使用它们。简易测原创 2020-08-18 16:20:22 · 11230 阅读 · 4 评论 -
Python通过SFTP上传和下载文件
import paramiko# 远程服务器登录IP和端口transport = paramiko.Transport(("192.168.5.128", 22))# 远程服务器用户名和密码transport.connect(username="username", password="passwd")# 创建sftpsftp = paramiko.SFTPClient.from_transport(transport)# 文件上传sftp.put("E:/aaa.ico", "/www.原创 2020-08-14 09:01:17 · 334 阅读 · 0 评论 -
从Java到Python(Java和Python的不同点)
变量定义方式不同:Java// 在java和绝大多数常用高级语言中,都需要类型描述符来描述类型int num = 10;String name = "Hello";Python# Python不需要预先声明类型,它会自动判断num = 10name = 'Hello'语句不同Java// Java语句必须以;结尾int a = 10;Python# Python不需要加分号a = 10函数/方法的定义方式不同JavaSt...原创 2020-08-14 08:55:53 · 210 阅读 · 0 评论 -
Python 获取本地路径
有时候我们需要获取系统中的环境路径,比如桌面文件夹,下载文件夹等,我们可以通过os库中的方法获取# 获取桌面文件夹路径os.path.join(os.path.expanduser("~"), 'Desktop')# 获取下载文件夹路径Downloads = os.path.join(os.path.expanduser("~"), 'Downloads')# 文档路径Downloads = os.path.join(os.path.expanduser("~"), 'Document'原创 2020-08-05 11:19:11 · 1119 阅读 · 1 评论 -
Python 获取当前时间
def getDate(): now_time = datetime.date.today().strftime('%Y%m%d') # print(now_time) return now_time可以返回当前时间原创 2020-08-05 11:11:13 · 229 阅读 · 0 评论 -
Python 通过xlrd读取Excel/WPS表格
import xlrdfrom xlutils.copy import copyimport osclass ExcelTools: # Excel读取相关 ------------------------------------------------------------------------------- # 打开Excel并读取数据 @staticmethod # 读取表格 def readExcel(file, sheet): .原创 2020-08-05 11:08:31 · 3305 阅读 · 0 评论 -
Python 获取两个日期的间隔
def interval(first, last): data_1 = datetime.datetime.strptime(first, '%Y%m%d') data_2 = datetime.datetime.strptime(last, '%Y%m%d') return (data_2 - data_1).days注意传入的格式,此处传入的格式必须为"20200805"或"20200806"返回的是间隔时间,比如20200805和20200806相差1天,就会返回1.原创 2020-08-05 11:02:05 · 979 阅读 · 0 评论 -
Python 打开Excel文档时出现PermissionError: [Errno 13] Permission denied: ‘C:\\Users\\Tsos2\\Desktop//模板
Traceback (most recent call last): File "a.py", line 456, in <module> File "a.py", line 451, in main File "a.py", line 432, in do_main File "a.py", line 249, in do_ems File "a.py", line 84, in insert_line File "a.py", line 73, in writeEx.原创 2020-08-05 10:56:59 · 2012 阅读 · 0 评论 -
Python 打开WPS时出现pywintypes.com_error: (-2147352567, ‘发生意外。‘, (0, ‘Kingsoft WPS‘, ‘文档打开失败。‘, ‘‘, 3010,
Python在运行时出现:Traceback (most recent call last): File "a.py", line 456, in <module> File "a.py", line 451, in main File "a.py", line 431, in do_main File "a.py", line 97, in due File "<COMObject <unknown>>", line 5, in Openp.原创 2020-08-05 10:53:03 · 5416 阅读 · 1 评论 -
Python操作剪贴板
写入剪贴板import win32clipboard as wimport win32con# Author: Aine# Version: 1.0.0# Date: 2020-07-21# 修改剪贴板内容# 传入需要的值即可修改剪贴板# 使用时直接将此函数复制即可,通过传入要写入到剪贴板的字符串来调用def setClipboard(Str): w.OpenClipboard() w.EmptyClipboard() w.SetClipboardDat.原创 2020-08-03 09:09:37 · 1053 阅读 · 0 评论 -
使用Python打印Word增强版
最近探索到可以使用win32com进行打印,如果对文件进行修改后打印,win32com可能会更加好用一些import osimport win32apiimport win32comimport win32printfrom self import selffrom win32com.client import Dispatch# --------------------------------------------------------# -- 需要修改的参数# ------原创 2020-07-24 10:17:52 · 3350 阅读 · 2 评论 -
使用python修改word文件
通过使用Python修改Word文件import osimport win32comfrom self import selffrom win32com.client import Dispatch# --------------------------------------------------------# -- 需要修改的参数# --------------------------------------------------------# 获取当前工作目录(仅在测试中.原创 2020-07-24 10:15:45 · 3075 阅读 · 0 评论 -
Python打印文件
方法一:使用Win32printimport win32apiimport win32print# 要打印的文件file_path = 'D://test.docx'def printer_loading(filename): open(filename, "r") win32api.ShellExecute( 0, "print", filename, '/d:"%s"' % win32print.GetD原创 2020-07-22 17:02:43 · 2254 阅读 · 0 评论 -
Python操作INI文件
使用的INI文件test.ini[花园路小学]校长 = 小许[北京路小学]校长 = 小虎[青岛路小学]校长 = 小花[济南路小学]校长 = 小桃修改INI文件from configobj import ConfigObj# 标记文件位置和字符类型config = ConfigObj("test.ini",encoding='UTF8')# 修改其中的配置config['花园路小学']['校长'] = "小许"# 提交修改config.write()写入I原创 2020-07-22 16:54:28 · 151 阅读 · 0 评论 -
Python对指定目录进行深度优先遍历(DFS)
import os# 在此处粘贴要遍历的目录路径path = r'D:\论文'# 定义要输出到那个文件f = open(r"D:\out.txt", "w")# DFS遍历函数# 需要传入一个字符串类型的遍历地址def DFS(file_dir): # 进行循环遍历 for root, dirs, files in os.walk(file_dir): # # 输出当前所在的目录,以及当前目录包含的文件和文件夹 # print('当前目.原创 2020-07-22 16:50:21 · 854 阅读 · 0 评论 -
Python启动和结束进程
启动进程import osappDir = r'C:\Program Files\Mozilla Firefox\firefox.exe'# 通过这一条语句即可打开指定的程序os.startfile(appDir)结束进程# Linux下需要的依赖import os# Windows下需要的依赖import wmi# 需要结束的进程名称processName = "chrome.exe"# windows环境情况下结束进程c = wmi.WMI()# fo原创 2020-07-22 16:48:11 · 1375 阅读 · 0 评论 -
通过Python操作剪贴板
写入剪贴板import win32clipboard as wimport win32con# Author: Aine# Version: 1.0.0# Date: 2020-07-21# 修改剪贴板内容# 传入需要的值即可修改剪贴板def SetClipboard(Str): w.OpenClipboard() w.EmptyClipboard() w.SetClipboardData(win32con.CF_UNICODETEXT, Str)原创 2020-07-22 16:45:02 · 744 阅读 · 0 评论 -
Python弹出打开文件对话框
import win32ui# 0代表另存为对话框,1代表打开文件对话框dlg = win32ui.CreateFileDialog(1)# 默认目录dlg.SetOFNInitialDir('C:/') # 显示对话框dlg.DoModal()# 获取用户选择的文件全路径filename = dlg.GetPathName()...原创 2020-07-07 16:39:47 · 2726 阅读 · 0 评论