首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取文件路径的Python脚本:在引号中插入结果;我得到完整的路径,而不是引号

获取文件路径的Python脚本:在引号中插入结果;我得到完整的路径,而不是引号
EN

Unix & Linux用户
提问于 2023-05-20 09:45:08
回答 1查看 23关注 0票数 -1

我有一个python脚本,它复制gedit中打开的文本文件的完整路径:

代码语言:javascript
复制
#!/usr/bin/env python3

import subprocess
import sys

name = subprocess.check_output(["xdotool", "getactivewindow", "getwindowname"]).decode("utf-8").strip()
if all(["(" in name, ")" in name]):
    path = name[name.find("(")+1:name.find(")")]
    if sys.argv[1] == "-file":
        fname = name[:name.find("(")]
    elif sys.argv[1] == "-path":
        fname = ""
    command = f"echo \"{path}/{fname}\" | tr -d '\\n' | sed 's/.$//' | xclip -selection clipboard"
    subprocess.Popen(["/bin/bash", "-c", command])

但是结果并没有被引号包围:我得到的是/path/to/file而不是"path/to/file"

如何编辑脚本以获得引号中的结果?

EN

回答 1

Unix & Linux用户

发布于 2023-05-20 17:57:20

我已经使用以下bash脚本获得了所需的东西:

代码语言:javascript
复制
#!/bin/bash

path=$(xdotool getactivewindow getwindowname | grep -oP '\(\K[^)]+')
path2="${path/#\~/$HOME}"
filename=$(xdotool getactivewindow getwindowname | cut -d"(" -f1 | rev | cut -c2- | rev)


echo "\"$path2/$filename"\" | tr -d '\n' | xclip -selection clipboard

我准确地得到了文本文件的完整路径,四周环绕着引号,例如:

代码语言:javascript
复制
"/home/dave/Documents/text file"
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/746438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档