在Ubuntu和MacOS上,Python代码的行为有所不同

时间:2018-07-06 10:34:52

标签: python python-3.x

我正在开发flask应用程序,并使用pycharm在MacBook上进行大部分开发工作。

最近,我将应用程序部署到了远程服务器并进行了一些测试。远程服务器具有运行python 3.6的Ubuntu 16.04(在MacBook上也运行了相同版本的python)。

现在,每次我在远程服务器上测试某个功能时,服务器的磁盘空间都用完了。这是由我实现的某些文件压缩功能引起的。

这是代码,

local_dir = 'some_path/'
new_zip_file = os.path.join(local_dir, "{}.zip".format('some_name'))

for root, dirs, files in os.walk(local_dir):
    with zipfile.ZipFile(new_zip_file, 'w') as new_zip:
         for file in files:
             new_zip.write(os.path.join(root, file))

在MacBook上,上述代码块按预期工作。它进入指定的文件夹,找到文件,然后将它们压缩到一个新文件中。 zip文件是在找到该zip文件内容的同一文件夹内创建的。

在Ubuntu上,它进入递归状态,导致zip文件爆炸。

现在我知道如何解决ubuntu上的问题,但是我的问题是,为什么在两个不同的OS上行为会发生变化?

0 个答案:

没有答案