<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_38308549的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_38308549</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_38308549]]></copyright><item><title><![CDATA[python学习笔记之Python基础教程(crossin全60课)]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/154347965</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/154347965</guid><author>weixin_38308549</author><pubDate>Mon, 03 Nov 2025 14:54:03 +0800</pubDate><description><![CDATA[16.想知道random 有哪些函数和变量，可以用dir()方法：dir(random)PS：贴吧里转了一篇关于怎么把py 文件转成别人电脑上也可执行的。exe 文件，稍稍有点复杂，想挑战的可以去试试。]]></description><category></category></item><item><title><![CDATA[Pycharm实用插件]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/125938051</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/125938051</guid><author>weixin_38308549</author><pubDate>Fri, 22 Jul 2022 18:44:24 +0800</pubDate><description><![CDATA[Pycharm插件]]></description><category></category></item><item><title><![CDATA[手动初始化Uiautomator]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/122822391</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/122822391</guid><author>weixin_38308549</author><pubDate>Tue, 08 Feb 2022 13:53:50 +0800</pubDate><description><![CDATA[前言
一般来说可以用 python -m uiautomator2 init 这个命令帮助我们将需要的东西安装到手机上。 但是有肯专研的人想知道到底这个init命令做了哪些事情。请继续往下看
python-uiautomator2 是安卓应用的Java测试框架Uiautomator的一个Python封装。所以uiautomator这个app是一定要装的。但是uiautomator不怎么稳定，需要被照看，所以就有了atx-agent这个东西。后来为了使用方便，atx-agent增加远程控制的功能，依赖mini]]></description><category></category></item><item><title><![CDATA[Appium: Android KEYCODE键值]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/119787705</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/119787705</guid><author>weixin_38308549</author><pubDate>Wed, 18 Aug 2021 19:52:28 +0800</pubDate><description><![CDATA[电话键
键名                  描述       键值
KEYCODE_CALL        拨号键     5
KEYCODE_ENDCALL     挂机键     6
KEYCODE_HOME        按键Home      3
KEYCODE_MENU        菜单键     82
KEYCODE_BACK        返回键     4
KEYCODE_SEARCH      搜索键     84
KEYCODE_CAMERA      拍照键     27
KEY]]></description><category></category></item><item><title><![CDATA[Appium环境搭建]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/119779265</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/119779265</guid><author>weixin_38308549</author><pubDate>Wed, 18 Aug 2021 14:22:08 +0800</pubDate><description><![CDATA[1、	安装node，配置path环境变量：D:\nodejs
2、	安装appium:
a.	npm install -g cnpm --registry=https://registry.npm.taobao.org
b.	npm install -g appium：安装appium server
c.	appium –v：查看是否安装完成
d.	pip install appium-python-client：安装appium client
e.	npm install appium-doctor –g]]></description><category></category></item><item><title><![CDATA[Appium 简介]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/119673597</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/119673597</guid><author>weixin_38308549</author><pubDate>Fri, 13 Aug 2021 13:40:14 +0800</pubDate><description><![CDATA[1.1 Appium 概述
Appium 是一个开源、跨平台（测试程序跨平台、支持多平台上的app测试）、多语言支持的（开发语言）移动应用自动化工具。
1.1.1 测试对象
Appium 的测试对象包括：原生 app，混合 app，移动 web app（就是用手机浏览器打开的网址）；
所谓原生 app，就是专门针对某一类移动设备而生的，所有界面和代码都是专门为平台设计的。比如说我们手机上自带的计算器应用，它的代码和界面，就都是用安卓开发语言 java 使用安卓开发库开发出来的。而混合 app 主要是指它的一]]></description><category></category></item><item><title><![CDATA[自动化测试框架对比（UIAutomator、Appium）]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/119610690</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/119610690</guid><author>weixin_38308549</author><pubDate>Wed, 11 Aug 2021 16:45:31 +0800</pubDate><description><![CDATA[UiAutomator和Appium之间的区别和联系
一、联系：
在Android端，appium基于WebDriver协议，利用Bootstrap.jar，最后通过调⽤用UiAutomator的命令，实现App的自动化测试。
二、区别：
UiAutomato
UiAutomator测试框架是AndroidSDK自带的App UI自动化测试Java库。
1、UiAutomator——基于UIAutomation的用户界面自动化测试框架，可以跨应用工作
2、UiAutomator只能测试Android nat]]></description><category></category></item><item><title><![CDATA[pip Could not install packages due to an EnvironmentError]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/118219841</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/118219841</guid><author>weixin_38308549</author><pubDate>Fri, 25 Jun 2021 14:11:54 +0800</pubDate><description><![CDATA[问题：
执行pip 命令出现以下错误
Could not install packages due to an EnvironmentError

解决方案：
使用以下命令重装pip即可
pip install --user pyspider


]]></description><category></category></item><item><title><![CDATA[No compiler is provided..JDK?]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/117264079</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/117264079</guid><author>weixin_38308549</author><pubDate>Tue, 25 May 2021 20:49:26 +0800</pubDate><description><![CDATA[问题：
当在Intellij IDEA编辑器中，使用maven编译时，报错：
No compiler is provided in this environment.JRE JDK？

原因
因为maven运行在jre上（可能也是跟本地jdk环境不一致）
在cmd中输入：
mvn -v可查看maven的环境配置
mvn -v

Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Ma]]></description><category></category></item><item><title><![CDATA[Git总结]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/115703000</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/115703000</guid><author>weixin_38308549</author><pubDate>Wed, 14 Apr 2021 17:09:03 +0800</pubDate><description><![CDATA[Git使用总结，随时更新

下载

http://git-scm.com/downloads，可下载最新版本，安装


配置

首先，配置基本信息
git config --global user.name "用户名" 
git config --global user.email "用户邮箱"

其次，生成秘钥
ssh-keygen -t rsa -C "用户邮箱"

最后，在GitHub或者码云上配置秘钥（GitHub跟码云只是代码托管平台）
最后的最后，测试是否OK
码云：ssh -T git@git]]></description><category></category></item><item><title><![CDATA[全文搜索技术]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/115398564</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/115398564</guid><author>weixin_38308549</author><pubDate>Fri, 02 Apr 2021 16:33:05 +0800</pubDate><description><![CDATA[背景
我们生活中的数据总体是分为两种的：结构化数据和非结构化数据。

结构化数据：指具有固定格式或有限长度的数据，如数据库，元数据等。
非结构化数据：指不定长或无固定格式的数据，如邮件，word文档等磁盘上的文件

数据查询

结构化数据
结构化数据的查询我们可以通过数据库中存储数据，通过sql语句进行查找。
非结构化数据
对于数据量大、数据结构不固定的非结构化数据，我们可采用全文检索方式搜索，比如百度、Google等搜索引擎、论坛站内搜索、电商网站站内搜索等。

全文检索
一、 定义
先建立索引，再对索引]]></description><category></category></item><item><title><![CDATA[python3中list快速去空值]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/115228224</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/115228224</guid><author>weixin_38308549</author><pubDate>Fri, 26 Mar 2021 10:05:13 +0800</pubDate><description><![CDATA[python3中去空值

遍历list保留非空值
例如：

x = ["a", "", "", "","b"]
x1 = []
for i in x:
    if i:
        x1.append(i)
x = x1
print(x)

['a', 'b']

简化：
x = ["a", "", "", "","b"]
x = [i for i in x if i]
print(x)


set()去重

x = ["a", "", "", "","b"]
print(set(x))

{ '',]]></description><category></category></item><item><title><![CDATA[杀logcat进程]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/115227457</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/115227457</guid><author>weixin_38308549</author><pubDate>Fri, 26 Mar 2021 09:40:04 +0800</pubDate><description><![CDATA[使用adb抓取logcat时，如何杀掉logcat进程问题

查找进程号
adb shell ps |findstr “logcat”
kill进程
adb shell kill -9 {pid}

以下是threading作业
import os, threading, time

# 获取device id，返回device list
def get_device_list():
    devices_lines = os.popen("adb devices").readlines()
    de]]></description><category></category></item><item><title><![CDATA[request.GET.get()]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/115200914</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/115200914</guid><author>weixin_38308549</author><pubDate>Thu, 25 Mar 2021 10:48:00 +0800</pubDate><description><![CDATA[request.GET.get()
request.GET是向服务器发出的http请求中“GET”变量的字典，例如：
www.google.com?thisIsAGetVarKey=3&amp;thisIsAnotherOne=hello

request.GET将是：
{"thisIsAGetVarKey": 3, "thisIsAnotherOne":"hello"}

因为request.GET是一个字典，所以它有一个方法.get()来检索字典中键的值
转载自：
https://www.cnpytho]]></description><category></category></item><item><title><![CDATA[git clone 显著提速，解决Github代码拉取速度缓慢问题]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/114327095</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/114327095</guid><author>weixin_38308549</author><pubDate>Wed, 03 Mar 2021 18:10:22 +0800</pubDate><description><![CDATA[对于国内用户来说，搬砖遇到clone Github速度十分缓慢的问题实在是一个令人头疼崩溃的问题。
下面就介绍一个简单的方法很好的解决这个问题。
方法 ：
1、注册码云账号 ：https://gitee.com/xiaomoji/SublimeCodeIntel
2、注册完成后点击页面右上角的 “+” 号，选择新建项目

3、在新页面中选择“导入已有项目”

4、复制需要导入的Github项目地址

5、填入地址之后点击“创建按钮”
6、等待Gitee拉取完成，这个过程的长短因拉取项目大小而异，1-10分钟]]></description><category></category></item><item><title><![CDATA[error: Microsoft Visual C++ 14.0 is required【解决方法】]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/114315947</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/114315947</guid><author>weixin_38308549</author><pubDate>Wed, 03 Mar 2021 15:09:55 +0800</pubDate><description><![CDATA[安装一些python包时，会报错：error: Microsoft Visual C++ 14.0 is required.
原因：
Python3 需要Microsoft Visual C++ 14.0 支持
解决方案：
安装Microsoft Visual C++ Build Tools，默认安装即可。
资源：
Microsoft Visual C++ Build Tools
链接: https://pan.baidu.com/s/1oM3kEAUUoX8MOYQdNvewlA
提取码: bfj7
转载]]></description><category></category></item><item><title><![CDATA[from import 与import 的区别]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/114263009</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/114263009</guid><author>weixin_38308549</author><pubDate>Mon, 01 Mar 2021 17:42:23 +0800</pubDate><description><![CDATA[看了很多文章（虽然也没get到精髓），但还是总结一下：
1、from A import a ：会在内存里创建一个 a的 引用，修改a时，只是修改了当前文件里的a。因此当多个文件都引用该模块时，不会互相影响
import A：多个文件都引用该模块时，会相互影响，可能导致报错
2、from import : 从车里把矿泉水拿出来，给我
import : 把车给我
总结：

当多个程序需要同时导入一个模块并且都是访问时,使用import 可以节省内存空间
当多个程序需要同时导入一个模块当其中一个需要修改模块,那么]]></description><category></category></item><item><title><![CDATA[selenium报错：Message: Unable to find a matching set of capabilities]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/108387392</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/108387392</guid><author>weixin_38308549</author><pubDate>Thu, 03 Sep 2020 17:07:11 +0800</pubDate><description><![CDATA[Selenium报错：Message: Unable to find a matching set of capabilities，一般是浏览器版本与驱动版本不兼容导致的，但是如果一直找版本会浪费大量时间，不利于时间管理学
但是在代码中指定浏览器位置之后，解决（不要问我为啥子 我也母鸡呀，等后续研究明白了 再来补充）
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBina]]></description><category></category></item><item><title><![CDATA[切片用None 作为索引值]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/108103897</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/108103897</guid><author>weixin_38308549</author><pubDate>Wed, 19 Aug 2020 16:27:28 +0800</pubDate><description><![CDATA[切片用None 作为索引值
str = ‘abcd’
str[:None]
‘abcd’
在对序列做迭代时，如需开头保持，可以使用None作索引
转载于:
https://www.cnblogs.com/zhu327/archive/2012/12/05/2802990.html
https://blog.youkuaiyun.com/weixin_30242907/article/details/97025368

...]]></description><category></category></item><item><title><![CDATA[openpyxl:读取单元格表达式的值]]></title><link>https://blog.youkuaiyun.com/weixin_38308549/article/details/105561895</link><guid>https://blog.youkuaiyun.com/weixin_38308549/article/details/105561895</guid><author>weixin_38308549</author><pubDate>Thu, 16 Apr 2020 17:06:41 +0800</pubDate><description><![CDATA[问题：
简而言之：当单元格为表达式时，如何直接读取单元格的值？
案发过程：
使用openpyxl读取单元格值时，如果单元格是表达式，会导致读出来的值为表达式（关联了其他的单元格）。
如果把该值，放在另外一个Excel中，会导致取值为0。
所以，我们希望可以直接读取该单元格表达式的值。那么问题来了 我们要怎么直接读值呢？
解决方案：
在openpyxl中，直接加载已存在Excel的方法load_ex...]]></description><category></category></item></channel></rss>