- 博客(17)
- 收藏
- 关注
原创 解决用 VirtualBox 虚拟 Ubuntu 无法使用共享粘贴板的问题
VirtualBox 有一个共享粘贴板功能,理论上安装了增强功能后就可以使用,但是我测试发现,尽管服务已启动,依然无法正常使用。后来在这里找到了解决方法。在虚拟机里安装以下软件包后,重启即可:virtualbox-guest-utils virtualbox-guest-x11 virtualbox-guest-dkms...
2020-03-21 19:30:50
1887
原创 Windows 下使用 mklink 命令建立软链接
众所周知,Linux 下可以使用 ln -s 来创建软链接。Windows 的 cmd 提供了一个类似功能的命令:mklink。这个命令的官方说明如下:MKLINK [[/D] | [/H] | [/J]] Link Target /D 创建目录符号链接。默认为文件 符号链接。 /H 创建硬链接而非符号链接...
2020-03-21 17:52:12
3080
原创 使用 VirtualBox 安装 Ubuntu
下载由于官方网站的服务器在境外,国内访问可能比较慢,可以到清华大学的镜像上下载。这里我下载的文件有:VirtualBox-6.1.4-136177-Win.exe (VirtualBox 安装包)Oracle_VM_VirtualBox_Extension_Pack-6.1.4-136177.vbox-extpack(VirtualBox 扩展包)ubuntu-19.10-desk...
2020-03-14 18:41:26
459
原创 Python socket 编程入门
什么是 socket?可以简单地认为,socket 就是操作系统对于 TCP 连接的封装。通过 socket,我们可以进行简单可靠的网络传输。目标我们打算编写这么一个简单的程序:客户端与服务端建立连接,端口为6666。 服务端发送信息,询问名字。 客户端发送名字信息。 服务端发送欢迎信息。 断开连接,客户端退出。编写客户端客户端的代码比较简单。client.py...
2020-03-11 18:44:24
272
原创 用 VS Code 进行 Python 单元测试
配置首先,你的 VS Code 要安装 Python 的插件,单元测试功能默认是关闭的,需要在 settings.json 里面添加一行:"python.testing.pytestEnabled": true。这里我使用的是第三方的 pytest 模块,你也可以使用标准库里的 unittest:"python.testing.unittestEnabled": true 或者另外一个第三方模...
2020-03-10 20:55:36
6365
原创 用 Python 实现设计模式(1):单例模式
简介顾名思义,单例(singleton)就是只有一个实例。单例模式的要点是:一个类只能有一个实例,这个实例在第一次调用的时候创建,在程序退出的时候销毁。实现我们可以利用 Python 的 __new__ 方法轻松实现单例模式。__new__ 方法在 __init__方法之前调用,并且 __init__ 方法的 self 参数就是 __new__ 方法的返回值,其他参数与 __new__...
2020-03-09 17:10:40
97
原创 Python 的 with 语法糖
Python 内置了 sqlite3 模块,可以方便地调用 SQLite 数据库。import sqlite3conn = sqlite3.connect('test.db')cur = conn.cursor()cur.execute('CREATE TABLE students (id BIGINT PRIMARY KEY NOT NULL, name VARCHAR(10) N...
2020-03-09 15:24:56
346
原创 用暴力手段解决电脑关机后自动重启的问题
我的电脑有个顽疾:经常关机后会自动重启,带来很多不便。后来,我发现,自动重启的现象与电脑使用时间有关,只要不用太久,就不会有这个问题,所以,我就写了一个简单的 Python 脚本,来应付这个问题。源代码如下:import wximport timeimport osfrom queue import Queuefrom threading import Threadclass T...
2020-03-07 21:23:18
209
原创 解决 Firefox 开机自动启动的问题
在 Windows 10 下,如果关机时,Firefox 没有正常关闭,重启后,Firefox 会自动开启。这似乎是 Windows 10 的一个特性,可以通过调整 Firefox 的设置解决,具体方法参见:https://support.mozilla.org/zh-CN/kb/%E9%87%8D%E5%90%AF%20Windows%20%E5%90%8E%20%20Firefox%20%E8...
2020-03-07 16:48:07
3806
原创 Git 的基本操作
安装 GitLinux 用户可以自行解决。Windows 用户可以在这个网页上下载,要使用 Git 时,打开项目所在文件夹,右键菜单选择“Git Bash Here”,在弹出的控制台里操作,最好事先了解一下 Linux 的常用命令,这里不赘述。创建仓库要创建一个仓库很简单,在项目所在目录里,输入 git init 即可。输入 ls -a,你会看到文件夹里多了一个 .git 文件夹,...
2020-03-06 16:58:38
128
原创 解决 selenium 加载网页阻塞的问题
selenium 的 webdriver 对象有一个 get 方法,可以打开指定的 URL,但是它是阻塞的,除非整个网页都加载完,否则不会返回。这样有两个弊端:一、很多时候,我们不需要整个网页都加载出来。二、如果网页因某种原因卡住,我们的程序也会卡住。解决这个问题的方法,就是用 set_page_load_timeout 函数和 WebDriverWait。set_page_load_time...
2020-03-05 21:55:28
11131
1
原创 Python selenium库的基本使用
selenium 最初是一个用于自动化调试网页的工具,但是后来人们发现,这东西可以用来做爬虫,抓取需要 js 脚本的网页。我们可以使用 pip 直接安装 selenium:pip install selenium。selenium 必须和浏览器配合使用,我喜欢 Firefox,所以这里我以 Firefox 作为例子,其他浏览器操作类似。准备材料https://portableapps....
2020-03-05 10:52:31
667
原创 用Python实现柯里化(currying)
学过Haskell等函数式编程语言的人,应该对于柯里化不陌生,简单地说,柯里化就是把多元函数化成一元函数。比如,下面的 add 函数是二元函数。def add(a, b): return a + b我们可以换一种写法:def add2(a): def g(b): return a + b return g# 输出7print(add(3...
2020-03-04 15:52:57
603
原创 Python的闭包与函数装饰器
闭包所谓闭包,简单的说就是在函数 f 里面定义另一个函数 g,然后把 g 作为 f 的返回值。由于 Python 里面函数是一等公民(可以看作对象,随意赋值),所以我们可以很方便地实现闭包:def multiply(a): def f(b): return a * b return fl = (1, 2, 3, 4, 5)// 输出(2, 4, 6,...
2020-03-04 10:34:57
140
原创 一个脑洞:谁说Python的缩进问题没有解决办法呢?
众所周知,Python用缩进的方式表示代码块,这带来了诸多不便,但是,这个问题真的没有解决的办法吗?我想,这么做可能可以缓解这个问题。end = Nonedef main(): for i in range(10): print(i) endendif __name__ == '__main__': main()end只需要在开头加一...
2020-03-03 20:48:12
237
原创 用Visual Studio 2017创建dll文件
首先打开VS 2017,新建一个“动态链接库(DLL)”项目。创建完之后,我们可以看见默认有这些文件:这些我们暂时都不用管,保持原样就好。我们再创建一个.h和.cpp文件(这里我命名为dll.h和create_dll.cpp)dll.h#pragma once// 创建DLL项目的时候,VS会默认添加一个“<你的项目名称>_EXPORTS”的预处理器头,...
2020-03-03 20:40:16
2160
2
原创 解决Windows开启高DPI缩放后,wxPython程序显示模糊的问题
最近用wxPython编写了一个简单的GUI程序,由于我用的是1080p的显示器,所以Windows 10默认开启了150%的缩放,结果打开程序后,界面大小正常,但是很模糊(如下图),我原本以为是wxPython不支持高DPI,但是后来发现其实是Windows 10的问题。解决方法:把程序用Pyinstaller打包成可执行文件,然后右键,在设置里开启由“应用程序”控制缩放即可。如果不打包...
2020-03-03 20:21:25
1447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人