- 使用的电脑系统: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 |
|