0

大家好,

我对python有点陌生,但我写了一个小脚本来帮助我重命名文件扩展名。它很短,所以我会在这里发布:

import os

for filename in os.listdir("."):
    if filename.endswith("gd"):
        os.rename(filename, filename + ".dat")

现在,由于我需要在几个目录中执行此操作,因此总是导航到终端中的文件夹并使用命令从那里执行它有点烦人

python renamescrip.py

现在我偶然发现了一些建议,可以在双击 Finder 时执行 python 脚本,这将使我的生活更轻松,因为我只需要将 renamescript.py 复制并粘贴到我想要的文件夹中重命名文件并双击它来执行它。

我按照以下说明操作:http : //skillfulness.blogspot.de/2010/12/how-to-run-python-script-from-mac-os-x.html,其中显示了如何创建 .command 文件。

但是,当我双击 renamescript.command 文件时,它并没有更改目录中的文件名。

我还尝试使用 Python Launcher 打开 .py 文件,但这也没有更改文件名。

但是,两次都会打开终端窗口,并显示以下消息:

cd '/path to directory with files to rename/' && '/usr/local/bin/pythonw'  '/path to directory with files to rename/renamescript.py' && echo Exit status: $? && exit 1
Exit status: 0
logout

或者如果我点击 .command 文件,它只是:

/path to directory with files to rename/renamescript.command ; exit;
logout

我究竟做错了什么?

4

1 回答 1

0

双击时,您运行的目录与当前目录不同,与从 shell 运行时的目录不同。这会导致您os.listdir(".")找不到您认为应该找到的文件。您应该在脚本开头更改目录

os.chdir(os.path.dirname(os.path.abspath(__file__)))

在你os.listdir打电话之前

于 2013-04-30T20:13:48.063 回答