【发布时间】:2013-02-18 17:14:59
【问题描述】:
我不认为这会像结果那样棘手,但我来了。我正在尝试用 Python 编写一个 Nautilus 脚本,只需选择并右键单击它们即可将一个或多个图像上传到 Imgur。它适用于单个图像和多个图像 - 只要它们不包含任何空格。事实上,您可以上传包含空格的单张图片,但不能上传多张。
问题在于 NAUTILUS_SCRIPT_SELECTED_FILE_PATHS 将所有选定的文件和目录作为空格分隔的字符串返回。例如,它可能看起来像这样:
print os.environment['NAUTILUS_SCRIPT_SELECTED_FILE_PATHS']
/home/nevon/Desktop/test image.png /home/nevon/Desktop/test.jpg
我需要的是一种方法来 - 在 bash 或 Python 中 - 转义路径中的空格 - 但不是分隔不同项目的空格。要么是这样,要么是在每个项目周围加上引号。
最终的解决方案是,如果我可以在 bash 中执行此操作,然后将这些项目作为单独的参数发送到我的 python 脚本。比如:
python uploader.py /home/nevon/Desktop/test\ image.png /home/nevon/Desktop/test.jpg
我尝试过 RTFM,但似乎没有很多好的解决方案。至少我没有找到。有什么想法吗?
【问题讨论】:
-
python uploader.py '...test image.png' ...但这属于 superuser.com -
或
mv 'test image.png' test-image.png。是的,你可以在文件名中使用空格,但没有人说它在所有情况下都很有趣。 -
我知道你可以引用参数来允许空格,但是当 $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS 只是给我一个空格分隔的列表时我该怎么做呢?