Как открыть папку в проводнике Windows с помощью скрипта Python?

#python #python-3.x #directory #subprocess #explorer

#python #python-3.x #каталог #подпроцесс #проводник

Вопрос:

я изучаю python, и я немного застрял…

Это мой код:

 # TESTING FILE
import os
import subprocess
from pathlib import Path


# VAR
name = 'my_random_dir'


# Main
path2 = str(Path(__file__).parent.absolute())
var = path2   "/"   name 
print(var)
subprocess.Popen(r'explorer /select "{var}"')

  

Я хотел бы открыть каталог внутри скрипта папки, который генерируется автоматически (это означало бы, что я не могу знать имя этой папки ранее, и мне нужно связать ее с переменными)

Я пробовал некоторые вещи, подобные приведенному выше коду, но я не нашел решения… есть ли какой-либо способ открыть папку в проводнике Windows, когда вы не знаете имя папки и вам нужно взять его из переменных?

Этот скрипт запускает только проводник Windows и игнорирует мой путь… есть ли какая-либо синтаксическая ошибка? Я плохо к этому подхожу?

Комментарии:

1. вы можете взять ее у пользователя, используя следующее вместо «name =»…»» . используйте это name =input («введите в свой каталог»)

2. @SadafShafi Спасибо за ответ! К сожалению, как я уже сказал в комментарии ниже, это не работает

Ответ №1:

Используйте этот скрипт

 import os
path = "C:\Users\shafi\Desktop\PAPER"
path = os.path.realpath(path)
os.startfile(path)
  

и он открывает папку PAPER

Не забудьте использовать // вместо /

Комментарии:

1. Привет, спасибо за ответ! К сожалению, это не работает :/

2. эй, я проверил последнее редактирование, все еще не работает :/

3. Привет! Я скопировал и вставил ваш код… все еще не работает… я создал видео, просто чтобы показать вам, что я имею в виду: youtu.be/aC1sm8VnBzE

4. спасибо за видео, приятель. когда вы пишете имя каталога, заключайте его в кавычки. вот так> «mydir»

5. Эй, чувак! Я повторил попытку, но безуспешно:(. Я создал еще одно видео ( youtu.be/G9IR4PGf4d0 ), я не могу толком понять, где ошибка… я хотел бы изучить python, но, похоже, C проще, чем 😂😂