- 使用的电脑系统:Windows 10 64位
- 使用的开发集成环境:PyCharm 2016.1.4
- 使用的Python的版本:python 2.7.10 和 python 3.5.0
本篇博客对 Python2 和 Python3 都适用。
实例:调用Windows里面的copy命令
比如现在,我想把这个路径F:\原文件夹里面的所有文件复制到这个路径F:\目标文件夹里面。可以在DOS命令行窗口里面执行:
1
| |
所以,我们要使用Python调用DOS命令行工具的步骤就两步:
- 构造命令字符串。
- 使用
os.system()函数执行命令字符串。
我们使用python调用Windows系统DOS命令行里面的copy工具来进行文件的复制。代码如下:
适合在Python3中执行的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
上面的代码如果在python2中执行,不将第10行的注释去掉的话,会因为字符串编码和解码的不正确问题,导致系统找不到指定的路径。:
1 2 | |
经验:我发现了两件事:
第一件事 . 在DOS 里面,执行下面的命令,有的是对的,有的是错的:
1 2 3 4 5 6 7 8 9 | |
总结:
\是一个特殊字符,它不能再字符串中正常的显示,如果必须显示,就这样写:\\- DOS 命令里面指定文件路径时,只能使用
\,不能使用/和//,使用这两个都是错的,都会导致 DOS找不到指定的文件路径 - 在DOS 命令里面,指定文件路径的
\,你写成\\或者\\\或者\\\\\\… 对是可以正常执行的,不会出现错误。
第二件事 . 同时,我发现:
python 的字符串前面加上r,说明这个字符串是raw string,即无需转义的字符串,意思就是这个字符串里面有什么就是什么。
但是我发现了python的一个bug:
1 2 3 | |
1 2 3 4 | |
1 2 3 4 | |