【发布时间】:2017-06-22 20:01:32
【问题描述】:
我制作了一个脚本,当点击它时,它会将打开它的目录的所有文件复制到 USB 上。 它在 Pycharm 中工作,但是当我将它转换为可执行文件时(当我使用 pyinstaller 将 .py 转换为 .exec 时)它不起作用。 我几乎可以肯定我知道出了什么问题,但我不知道如何解决。
import shutil
import os
current = os.getcwd()
list_of_files = os.listdir(current)
def get_files():
print('CURRENT: ' + current)
print('File_List: ' + str(list_of_files))
for files in list_of_files:
shutil.copy(current + '/' + files, '/Volumes/U/Copy_things')
get_files()
长话短说,我正在使用 os.getcwd(),所以文件知道它的位置。
当我在 Pycharm 中执行文件时, os.getcwd() 给我的当前目录是
当前:/Users/MainFrame/Desktop/python_test_hub/move_file_test
但是当我打开可执行文件(与 .py 文件相同的文件夹)并且终端打开 os.getcwd() 给我的是
当前:/Users/MainFrame
所以我需要找到一种方法让可执行文件打开它所在的终端,以便它可以复制这些文件。 我希望能够从任何文件夹执行它并将文件复制到 USB。
【问题讨论】:
-
“当我将它转换为可执行文件时它不起作用” - 你必须详细说明这一步。
-
@yedpodtrzitko 当我使用 pyinstaller 将 .py 转换为 .exec 时
-
在控制台/终端中运行 .exe 以查看错误。
-
复制不需要终端。
-
@furas 当我运行可执行文件时,终端会打开。如果我手动转到 exec 在终端中的位置并执行 ./name 它可以工作。但我希望终端自动打开可执行文件所在的位置,并在我单击它时运行其余代码。