一、操作环境
操作系统:Windows 10 家庭版 64 位
Python 版本:Python 3.7.0
继续阅读“Python + Excel 实现图片批量下载”运行环境:Ubuntu Ubuntu 18.04.1 LTS
代码如下:
import PIL
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
# 设置所使用的字体和字体大小
font1 = ImageFont.truetype("UbuntuMono-B.ttf", 100)
# 打开图片
imageFile = "1.jpeg"
im1 = Image.open(imageFile)
# 绘图实例化
draw1 = ImageDraw.Draw(im1)
# 设置水印的位置,内容,颜色,字体
draw1.text((10, 10), "www.zhaokaifeng.com", (255, 0, 0), font=font1)
# 将生成的图片另存
im1.save("11.jpg")
本项目 GitHub 地址:HERE
虚拟化软件:VirtualBox 5.2.22 r126460 (Qt5.6.2)
物理机操作系统:Windows 10 家庭版 64位
虚拟机操作系统:blackarch-linux-2018.08.01
在物理机上新建一个文件夹,打开”设备/共享文件夹”,添加一个共享文件夹并设置为“自动挂载”,如图:

之后重启虚拟机系统。
在虚拟机系统的/media/sf_share 目录下可以看到共享文件夹中的内容:

虚拟化软件:VirtualBox 5.2.22 r126460 (Qt5.6.2)
物理机操作系统:Windows 10 家庭版 64位
虚拟机操作系统:blackarch-linux-2018.08.01
虚拟机联网方式:桥接
启动 BlackArch 之后,右键”network/wicd-gtk”, 如图:

随后出现弹窗提示:

上述报错的文字内容即是:
Could not connect to wicd’s D-bus interface. Check the wicd log for error message.
ip a 命令查看网卡和网络连接情况:

运行 dhcpcd enp0s3 命令自动获取 IP 地址:

之后,使用 ip a 命令即可看到系统已经获取到了 IP 地址等网络配置信息:

ping 测试发现可以正常连接互联网:

GNS3版本:GNS3 2.1.11
c7200文件名称:c7200-adventerprisek9-mz.124-24.T.BIN
依次点击“Edit/Preferences”:

选中”IOS routers”, 点击”New”:

“c7200-adventerprisek9-mz.124-24.T.BIN”这个文件的存放路径中如果有中文,会出现如下提示:

点击OK之后会询问我们是否将 IOS 的 image 文件拷贝至系统默认的路径下,这时点击”Yes”即可:

按照上面的步骤(将 image 文件放在包含中文的路径下并同意系统将其拷贝至默认的路径)。当然,我们也可以将 image 文件放在一个不包含中文的路径下,操作完成后,点击”Next”:

这一步需要我们指定名称和平台,由于我们导入的是 c7200 路由器而且系统已经帮助我们自动选择了 c7200 的平台,所以在这里使用默认即可,点击”Next”:

这一步让我们为路由器指定可使用的物理内存的上限,默认是 512MiB, 但是如果不准备使用该路由器进行大型实验而且物理内存不是很大的话,可以适当减小这个数值,这里我选择指定为 256MiB:

这一步让我们设置将默认插入到每台新的路由器实例中的网络适配器。

根据需要,我的网络适配器模块的配置如下:

这一步我们需要计算一下Idle-PC值(关于Idle-PC值的作用可查看文末附1),点击”Idle-PC finder”开始计算。计算完成后系统会自动填入,最后点击”Finish”即可。


应用配置:

测试。通过”File/New blank project”新建一个空白项目,拖出一台 c7200, 检测其是否能正常开机,:

附1:Idle-PC值的作用
Idle-PC 是 Dynamips 思科路由器模拟器的一项功能。在没有配置 Idle-PC 的情况下,我们很容易就会看到在模拟器上开启思科路由器后,CPU 占用率达到 100%. 通过 Idle-PC, Dynamips 可以知道虚拟出来的路由器什么时候是空闲的,什么时候在做有用的工作,这样的话那些处于“休眠”状态的路由器就可以极大的被减少 CPU 资源的消耗,从而使整个虚拟系统的 CPU 资源占用率降低。
摘要:Hacker Guccifer, who exposed Clinton private email server, ready for US prison sentence;Publicly Available Tools Seen in Cyber Incidents Worldwide;HTTPS的七个误解(译文);保罗·艾伦的故事;The Beauty of Programming…
继续阅读“荒原之梦IT周报第二十九期(28 October, 2018)”该图标设计灵感产生于2018年10月15日晚上且于当晚完成制作并正式上线,这是荒原之梦第一款正式的网站图标。
主要灵感来源于2进制电子计算机的机器码和荒原之梦网站自建站之始就确立的“方正,灵动”的主题文化以及继往开来,创造新知的坚定信念。
在LOGO 1.0 版中可以看到一个抽象的英文字母”Z”和一个汉字“工”。其中英文字母”Z”源于荒原之梦网站域名”zhaokaifeng.com”的第一个字母”Z”. 而汉字“工”则如同铁路轨道中钢轨的横截面,代表着一种风雨无阻,勇于进取的精神,灵感来源于我家门前的陇海铁路。

Ping测试常被用于测试网络中两台主机之间是否互相连通,但是,大多数Windows操作系统(包括桌面版和服务器版)默认都是只允许ping其他主机而不允许其他主机ping自己。下面演示如何在Windows系统上开启基于ICMPv4协议的Ping.
继续阅读“设置Windows防火墙以允许被ICMP Ping(两种配置方式)”摘要:Chrome 69 will keep Google Cookies when you tell it to delete all cookies;Facebook公布调查进展 证实2900万用户信息遭黑客窃取;用 HTML 标记的古怪代码注释;新手应该如何学习 PHP 语言;Git 原理入门;俄罗斯飞船发射失败,幸好两名宇航员没事…
继续阅读“荒原之梦IT周报第二十八期(14 October, 2018)”
摘要:脸书再次遭数据泄露 近5000万用户账户可能被入侵;Tesla内部服务器受感染 被用于加密货币挖矿;WinWorld:大型的废弃操作系统、软件、游戏的博物馆;Linux各发行版本及其软件包管理方法;莫言香港公开大学演讲;危险的“黎曼猜想”…
继续阅读“荒原之梦IT周报第二十七期(7 October, 2018)”
继续阅读“荒原之梦IT周报第二十六期(30 September, 2018)”
今天是中秋节,一个关于团圆和月亮的节日。
李白曾“举杯邀明月”,自认为可以“对影成三人”,我们可以将此理解为诗人的诗意。然而,自古至今,月球对于人类的吸引力从未削减——晴朗的夜空,一轮明月高悬空中,宛若晶莹的碧玉,偶尔飘过的几朵隐隐约约的云彩,向只能待在地球上的人类炫耀着天宫的美轮美奂。
cmp() 函数是Python 2中的一个用于比较两个列表, 数字或字符串等的大小关系的函数, 在Python 3中已经无法使用这个函数了:
>>> a = [1, 2, 3] >>> b = [4, 5, 6] >>> cmp(a, b) Traceback (most recent call last): File "<pyshell#60>", line 1, in <module> cmp(a, b) NameError: name 'cmp' is not defined >>>
在Python 3中, 使用operator模块来实现同样的功能. 无论是在交互模式还是在文本模式下, 要使用operator模块都需要先导入该模块:
import operator
在交互式模式下可以这样使用:
>>> a = [1, 2] >>> b = [1, 3] >>> import operator >>> operator.eq(a, b) False >>>
但是如果我们在文本模式下也这样使用:
a = [1, 2] b = [1, 3] import operator operator.eq(a, b)
Run之后并没有任何回显:
=================== RESTART: C:/Users/Master/Desktop/1.py =================== >>>
如果要实现交互式模式下一样的回显, 需要使用print()函数输出:
a = [1, 2] b = [1, 3] import operator print(operator.eq(a, b))
回显如下:
=================== RESTART: C:/Users/Master/Desktop/1.py =================== False >>>
operator模块的功能如下:
|
函数
|
含义
|
|
operator.lt(a, b)
|
a < b
|
|
operator.le(a, b)
|
a <= b
|
|
operator.eq(a, b)
|
a == b
|
|
operator.ne(a, b)
|
a != b
|
|
operator.gt(a, b)
|
a > b
|
|
operator.ge(a, b)
|
a >= b
|
比较大小的规则是以ASCII码表为基准, 从两个列表中的第一个字符开始进行比较, 返回值为布尔类型.