百宝箱

先抱歉这么久没更新……哒哒,开启找借口模式:

  1. 人到中年,身不由己

  2. 都怪外界诱惑太多:刷手机真香、播客的内容闻所未闻、闲书打开的世界真奇妙、那什么,瓜地里的瓜吃不过来……

至于尽在不言中的中年,经历过的自然明白,没经历过的迟早会明白。虽然我很享受这中年时光,一点儿也不愿意再回到少年锦时或青年美时。一个原因可能是以前没有超市自由现在有,我很肯定这不是主要原因,主要应该是现在开始懂得欣赏&咂摸出许多滋味来:一本书、一首歌、一段唱腔、一顿美食带来的愉悦;浓郁咖啡、幽香好茶、清风明月、夜空繁星、花草树木……生活多美好;诙谐幽默的段子、精心编辑的短视频、妙手抓拍或p过的图片、说古论今的播客让人哈哈大笑;与老友的小聚、远方亲友的关怀……更是增填了温情的注脚。

而且我并没偷多少懒,有空就做做reportlab的后期制作。只是因为留给生活其他部分的时间多一些,显得这边节奏慢了些。

在编辑reportlab视频时,遇到程序中导入(import)自己的文件时提示找不到模块的问题,为了给视频“瘦身”,把PythonABC基础教程相关段落提出来放在这里,供看官查阅。

在程序文件中myCat.py内对cats的定义如下:

cats = [{‘name':'Garfield','desc':'chubby'}, {'name':'Tom','desc':'naughty'}, {‘name':'kitty','desc':'pretty'}]

这里定义的变量cats该怎样拿出来给其他程序用呢?

其他程序要使用这个变量需要在自己的程序中引入myCats模块:

import myCats

可是有时会出现“No module named myCats”的错误。如果用的集成开发环境是PyCharm,myCats下还会出现一条红色波浪线。原因在于myCats.py所在路径不在Python解释器的搜索路径下,换句话说就是Python编辑器不知上哪儿去找myCats.py。所以接下来我们解释如何把myCats.py所在路径添加进Python解释器的搜索路径中:

打开PyCharm菜单项选择’Preferences’(MAC)或者打开File菜单单击setting选项(Windows),然后选择自己生成的项目(这里是PythonABC_Book)下的项目解释器,见下图标号2标示的位置。单击项目解释器旁边的设置,见下图标号1所标示的按钮:

images/pABCArticles/Foundation/Problem/problem1-2.png

弹出的窗口内选择在用的Python解释器(下图所示界面标号1标示的位置)。单击’+’(标号2所标示的位置)。在弹出的窗口内选择myCats.py所在的文件夹后,一路按’OK按钮。再回到代码区时,myCats下面的红色曲线不见了(不消失也没关系,不影响程序运行)。

现在引入myCats,取出定义好的变量用起来。

import myCats  
# 导入变量文件后就像把myCats.py里的变量定义也搬到程序里来一样。
 
print(myCats.cats)  
# cats是文件myCats.py里的变量,引用时加一个来源myCats。输出的是文件myCats.py里定义的cats的内容。
print(type(myCats.cats))      # 定义时cats是列表,这里也是列表。
print(myCats.cats[0])         
# 列表cats的第一个字典类型的元素:{'desc': 'chubby', 'name': ‘Garfield’}。
print(myCats.cats[0]['name'])
# 输出字典里键值(key)为’name’的元素的值(value):’Garfield’

如果导入(import)的是第三方模块(比如pathlib,pillow, moviepy……),碰上这种错误说明这个第三方模块没被安装,解决办法是安装这个第三方模块。