feh를 사용하여 여러 링크를 여는 방법은 무엇입니까?

feh를 사용하여 여러 링크를 여는 방법은 무엇입니까?

저는 Librex의 API에서 여러 이미지를 가져온 다음 feh에서 여는 프로그램을 작성하고 있습니다.

출처는 다음과 같습니다.

args = sys.argv[1:]
for i in args:
    if "-" in i:
        args.remove(i)
sch = quote("+".join(args).replace(" ", "+")).replace("%2B", "+")
sts = ["librex.extravi.dev", 
    "librex.beparanoid.de", 
    "search.davidovski.xyz", 
    "search.madreyk.xyz", 
    "librex.catalyst.sx"]
st = random.choice(sts)
def images(search, site):
    URL = f"https://{site}/api.php?q={search}&p=0&type=1"
    data = requests.get(url=URL).json()
    imgList = str()

    for i in data[:2]:
        imgList += f" {i['thumbnail']}"
    subprocess.Popen(["feh", imgList])
images(sch, st)

그러나 여러 옵션을 사용하여 최종 "feh" 명령을 실행하면 다음과 같은 오류 메시지가 나타납니다.feh WARNING: https://s1.qwant.com/thumbr/exmple1.jpg https://s2.qwant.com/thumbr/example2 does not exist - skipping

각 링크에서 개별적으로 feh를 실행해 보았으므로 링크에 문제가 없습니다. 그러나 모든 링크를 사용하여 feh를 다시 실행하면 동일한 오류가 발생합니다.

여러 URL로 feh를 실행하는 방법이 있나요?

답변1

를 사용하면 imgList+=기본적으로 URL을 하나의 큰 문자열로 연결한 다음 이를 매개변수로 에 전달하게 됩니다 feh.

imgList목록(문자열 아님)으로 변경한 다음 imgList.append()썸네일 URL을 추가하는 데 사용하세요.

그런 다음 목록의 내용이 Popen에 제공된 배열의 별도 요소로 전달되어 에 별도의 인수로 전달되도록 구조가 해제됩니다 feh.

subprocess.Popen(["feh", *imgList])

feh실제로 동시에 2개의 URL에 액세스할 수 있는 방법을 확인하세요 .

feh https://i.pinimg.com/236x/d3/fb/69/d3fb6973cddc1d875dc7c2e04525d2e7.jpg https://i.pinimg.com/236x/f4/dc/58/f4dc58f3bddf1c5b5249511820246df8.jpg

관련 정보