使用pyinstaller使其成为可执行文件后,无法在Python中移动文件

时间:2019-01-23 00:29:28

标签: python pyinstaller glob shutil

我有一个Python脚本,可以很好地运行,一旦脚本运行,它将创建约1000个文件。

因此,我执行了一些代码,以便在脚本运行后将文件移动到新文件夹中。

import glob, os, shutil

source_dir = 'C:/Users/george/Desktop/my aemo app/a'
dst = 'C:/Users/george/Desktop/my aemo app/b'
files = glob.iglob(os.path.join(source_dir, "*.csv"))
for file in files:
    if os.path.isfile(file):
        shutil.copy2(file, dst)

当我在空闲状态下运行它时,它可以很好地工作,但是一旦将其设置为可执行文件并将其发送给其他人,它不会为他们移动文件吗?

1 个答案:

答案 0 :(得分:1)

我想象发送给另一个用户的问题是他们的用户名可能不是“ george”,因此他们的文件结构与您的程序所寻找的不同。我会尝试使用环境变量或相对路径在要分发的程序上移动文件。 操作系统文档: https://docs.python.org/2/library/os.html#process-parameters

如果要从运行程序的位置上移两个目录,然后向下钻入../../file/deepFile/whatYoureLookingFor

,则

相对路径类似于file