跨平台自动化工具开发:Python环境安装与配置指南

跨平台自动化工具开发:Python环境安装与配置指南

在开发过程中,我们经常需要编写一些自动化的工具,例如:

但是如果我们要进行跨平台的开发,那么依据每个平台去开发一套功能相同的自动化脚本,显然不是最为理想的选择。而选择跨平台通用的脚本则是更好的做法。其中,Python 就是经常被用来编写自动化工具的跨平台脚本语言。

Python 环境安装: 1.资源下载:

到 Python 官网去下载安装包,它有 2.x 和 3.x 这两个分支。这两个分支之间存在着巨大的差别。如今比较流行的是 2.7.x 系列。在这里,我直接下载了此系列的最新版本,即 python-2.7.13.msi 。

2.安装步骤:

过程很简单。首先双击打开安装包,接着一直点击 Next 按钮,直到安装完成。要记得记录一下它的安装目录,因为后面配置系统环境时会用到。

3.环境配置:

首先打开计算机,接着找到属性,再进入高级系统设置,然后找到环境变量……之后在系统变量里新建一项,并设置参数如下:

变量名:PYTHON_HOME
变量值:D:\Develope\Python2.7

接着编辑系统变量里的 Path 变量的参数,将参数值的末尾加上 ;%PYTHON_HOME%;,之后保存所做的编辑内容。随后,开启命令行窗口来查询配置是否成功。

C:\Users\hasee-pc>python --version
Python 2.7.13

以上说明环境变量的配置已完成。

4.运行 Python:

运行 Python 代码块有两种方式。一种是在命令行窗口中输入 Python 指令,从而进入交互式编程窗口。接着可以直接输入代码,通过键盘上的 Enter 键来执行结果,例如:

C:\Users\hasee-pc>python
Python 2.7.13 (v2.7.13 对应的是 a06454b1afa1,时间是 2016 年 12 月 17 日,具体时间为 20 点 42 分 59 秒) [MSC v.1500 32 bit (
Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hi,linsh"
hi,linsh

也可以创建一个 .py 脚本,编辑好脚本内容,例如:

# test.py
print "hi,linsh"

接着,需在命令行中找到脚本所处的目录,接着执行该脚本,以下这两种执行方式都是可行的:

D:\Develope\PythonProjects>python test.py
hi,linsh
D:\Develope\PythonProjects>test.py
hi,linsh

# 号用于对单行进行注释。多行注释通常以三引号 ''' 或者 """ 开始和结束。

Python 基础语法:

这里不会详细阐述过多关于语法的细节,只是简要讲述一些必需的基础语法。若想了解更详细的内容,可以参考【Python 语言参考】。

1.特殊标识符: 2.缩进和代码块:

Python 与其他语言存在最大的不同之处。它不像其他语言那样使用 {} 来包裹一个代码块,也不像 Lua 那样使用关键字来包裹代码块以管理类、函数或逻辑判断。Python 是直接通过缩进这一方式来管理模块的。

缩进的空白数量是可以变化的,然而所有代码块语句都必须拥有相同的缩进空白数量。例如:

if True:
    print "True"
else:
  	print "False"

编程工具通常将一次 Tab 键的距离设定为 4 个空格的距离,以此作为一级缩进的空白数。

3.数据类型和变量:

Python 有 5 种标准的数据类型:

Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)

在定义变量时,无需声明变量的类型。变量在使用之前,需要先进行赋值操作。只有在赋值之后,解释器才能根据赋值的类型,为该变量分配创建内存空间并创建此变量。而仅仅只是声明但没有赋值的变量,是无法使用的。例如:

number = 2	    # 整型
percent = 100.0	# 浮点型
name = "linsh"	# 字符串

此外,还可以同时对多个变量进行赋值:

number,percent,name = 2,100.0,"linsh"

4.函数:

函数的使用具有两个方面的作用,一是能够提高代码的重用性,二是可以增强代码的可读性和模块化。以下是 Python 定义函数的格式:

def funcName(param1,param2,...):
	...

用关键字 def 去声明一个函数,接着是函数名(也就是函数标识符),之后是被 () 包围起来的传入参数表,这个参数表可以没有参数,也可以有多个参数,接着用 : 号来开启函数内容的起始。例如:

# test.py
# # -*- coding: utf-8 -*-
# 方法定义
def TestFunc1():
	print "test1"
def TestFunc2(num):
  	print "test2: num = ",num #str 和 int 类型拼接
    
# 方法调用
TestFunc1()
TestFunc2(66)

执行结果:

D:\Develope\PythonProjects>test.py
test1
test2: num =  66

编写工具: 1.设计目标:

首先说一下我要工具的功能:

遍历某个目录及其子目录中的所有指定后缀文件,接着为这些文件的头部插入指定字符串。

2.使用场景:

设计这种工具的起因是我近期在把之前 CSDN 里的博客搬运到自己的 Hexo 博客空间上。大家应该清楚,要是都用 Markdown 编写的话,搬运时只需在文件头部添加如下一串额外的内容:

---
title: 博客标题
博客的创建时间是(例如:2016 年 9 月 3 日 17 时 15 分 22 秒)
标签有多种,例如[Hexo,Next]等,若有多个标签则用逗号隔开。
categories: 分类(如:Web)
---

此外,要在博客首页仅展示部分内容,而非展开博客的完整内容,就需要在博客中合适的位置插入这个标签,一般是加载第一段内容结束的位置。

3.实现代码:

我们在 source/_posts 目录下创建一个工具脚本,将其命名为 SuitFileToHexo.py ,接着依次进行以下步骤。

这里发现一个问题,即 os.path.isdir(i) 在 2.7.11 这个版本时会莫名其妙地返回 false。要想使其正常,需要进行如下修改:

 if file_endStr == '':
     i = os.path.join(path, i)   #=================〉这一行很必要
	 # print i
	 # 判断是否是目录
	 if os.path.isdir(i):
	     ...

‘’’—

title: ‘’’


展示分隔符 ```` 的插入位置大致逻辑为:在第一个标题之后,且刚好插入在第二个标题之前。用 Markdown 语法撰写的博客标题是用 ``#`` 表示的,最终的插入方法如下:
```python
# 向文件中插入指定数据
添加标签 tags 。
	file = open(filePath,"r")
	content = file.read()
index 等于 content 从开头到第 40 个字符中查找三个连续的单引号(''')的位置。
title:''')
	# 添加
	if index == -1:
		print 'Undadded'
语言风格需保持原文风格,要去掉最前面的序号,将长句拆分成多个小分句,并且分句要尽可能短,以达到差异最大化的效果,同时要保留原意,禁止修改专有名词,也禁止穿插英文单词,只需要改写结果,无需复述原句,更不要换行以及给出任何解释。
标题:“” + title + “”
date 的值为 +date+ 。
tags 包含了“”+tags+“”。
categories 包含 tags
---
'''
		# 检测是否插入部分显示标签
- content 等于 addContent 加上 content 。
index 等于 content 查找三个单引号(''')的位置
		if index == -1:
			# 获取第一段的位置
index 等于 content 中查找 '''### ''' 的位置
			if index != -1:
打印“first ### 位置 = ”,然后加上 index
				# 下一个标题位置(在第二个标题之前插入即可)
pos 等于从 content 中 index 位置开始往后找空字符串的位置。
#''',1)
				if pos != -1:
					index += pos
打印“第二个输入位置 = ”,以及 index 的值
将 content 从开头截取到 index 位置,然后在其后添加三个单引号。
从某个位置开始的内容,即从索引为 index 的位置开始往后的内容。
		file = open(filePath,"w")
		file.write(content)
	else:
打印“文件头部已添加”
	# 记得要关闭文件
	file.close()

最后完整的调用过程:

# 指定目录
path = './'
# 得到文件列表
files = getFileList(path,'.md')	
# 声明一些全局变量
title = ''
date = ''
tags = ''
for i in files:
    	title = getFileSimpleName(i.decode("string_escape"))
    	date = get_FileCreateTime(path+i.decode("string_escape"))
    	tags = getTypeNameByPath(i.decode("string_escape"))
    	print 'title: '+title
    	print 'date: '+date
    	print 'tags: ['+tags+']'
    	addHeadToFile(path+i.decode("string_escape"),title,date,tags)

​

其他:

如果你出现了打印中文文件名变成“BATCH\xc5\xfa\xb4\xa6\xc0\xed\xbc\xf2\xbc\xc7.md”这种格式,那么可以参考:Linux 下 Python2.7 解决 list 打印中文字符的问题。

参考资料:

微信公众号「何乐不为呢」,一个码农的技术笔记和唠叨。

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

33阅读

外国教程python,python编程教学视频

2026年09月02日

27阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

27阅读

python教程大全集,python教程600集

2026年09月02日

27阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

23阅读