Перемещение файлов в Python не работает после того, как он стал исполняемым с помощью pyinstaller - PullRequest
0 голосов
/ 23 января 2019

У меня есть скрипт на 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 голосов
/ 23 января 2019

Я полагаю, что проблема с отправкой другому пользователю заключается в том, что его имя пользователя, вероятно, не является "george", и, следовательно, их файловая структура отличается от того, что ищет ваша программа.Я бы попытался использовать переменные среды или относительные пути для перемещения файлов в программе, которая должна быть распространена.Документация os: https://docs.python.org/2/library/os.html#process-parameters

относительные пути будут выглядеть примерно так: ../../file/deepFile/whatYoureLookingFor, если вы хотите перейти на 2 директории, откуда вы запускаете программу, а затем перейти вниз по другому пути в file

...