파일 경로를 가져오는 Python 스크립트: 따옴표 안에 결과를 삽입합니다. 전체 경로는 얻지만 따옴표는 없습니다.

파일 경로를 가져오는 Python 스크립트: 따옴표 안에 결과를 삽입합니다. 전체 경로는 얻지만 따옴표는 없습니다.

gedit에서 열린 텍스트 파일의 전체 경로를 복사하는 Python 스크립트가 있습니다.

#!/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"

따옴표 안에 결과를 얻으려면 스크립트를 어떻게 편집해야 합니까?

답변1

필요한 것을 얻기 위해 다음 bash 스크립트를 사용했습니다.

#!/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

다음과 같이 따옴표로 묶인 텍스트 파일의 전체 경로를 정확하게 얻습니다.

"/home/dave/Documents/text file"

관련 정보