在学习python时写到一个十分简单的备份程序,其中涉及到工作目录的问题。
在使用Linux的zip命令时,例程给出的有效控制台命令是
zip -qr '/Users/smith/Desktop/test.zip' /Users/smith/Desktop/python
但是得到的压缩文件包含python文件所有父目录(直到根目录)。即得到的压缩文件为/Users/smith/Desktop/python及python文件夹内的所有文件,也就是说压缩时连路径也压缩进去了。
然而我想在压缩时把路径省略,其中找到的一个解决法案是让脚本中的工作目录移到python的父目录在执行使用相对路径的zip命令。即在/Users/smith/Desktop目录下,执行
zip -qr '/Users/smith/Desktop/test.zip' python
这就涉及到脚本下工作目录转移的命令,我尝试用os库中的os.system('cd XXX')命令,但是发现执行后,工作目录并没有改变。[这篇文章](http://blog.csdn.net/qq_25467523/article/details/77859429)里面谈到里关于进程调用的过程,也谈到了两种解决方案:
(1)使用os.chdir('new_path')
(2)使用复合命令如os.system('cd new_path && other_command')