Путь к пользовательскому рабочему столу с помощью python

Я столкнулся с некоторыми статьями на днях, исследуя мои собственные проекты / tmpfs

См.:

http://prezi.com/xgwyp3reqanc/ubuntu-debian-ramdisk /

& amp;

http://prezi.com/xgwyp3reqanc/ubuntu-debian-ramdisk/

2
задан 18 May 2012 в 18:08

14 ответов

В Ubuntu по умолчанию, на котором запущен Python 2.7, вы можете использовать следующие команды

#!/usr/bin/env python

import os
import platform

userhome = os.path.expanduser('~')
desktop = userhome + '/Desktop/'
useros = platform.system() # returns e.g. 'Linux' 'Windows' 
distribution = platform.linux_distribution() 'in case it's a Unix

При кодировании приложения с перекрестными платами вам следует знать, что не все настольные среды используют каталог рабочего стола. Это будет даже верно для некоторых настольных компьютеров XDG.

Поэтому наш код не должен полагаться на наличие каталога рабочего стола.

Если вы используете код для разных локалей, вам нужно проанализировать имя, указанное для каталога рабочего стола, из конфигурации рабочего стола xdg (см. Как я могу получить (XDG) пользовательские каталоги по умолчанию из Python?). [ ! d4]

3
ответ дан 25 May 2018 в 11:15
  • 1
    Это мило. Работает как прелесть на Ubuntu. Но будет ли это печатать правильный путь к рабочему столу, даже если его система Windows? – Shyam K 18 May 2012 в 20:27
  • 2
    Путь к окнам /Desktop/ -анализ будет другим. Тем не менее приведенная выше команда даст вам путь к HOME текущего пользователя в Windows. Невозможно проверить это дальше из-за огромной нехватки Windows - вам может потребоваться некоторое экспериментирование;) – Takkat 18 May 2012 в 21:54
  • 3
    / Desktop / не всегда правильно, когда существует папка l18n. Например, для испанского является / Escritorio /. Это взято из XDG_DESKTOP_DIR в ~ / .config / user-dirs.dirs – shakaran 1 April 2013 в 03:59
  • 4
    @shakaran: Благодарю вас за это полезное замечание. Вы можете try получить os.environ['XDG_DESKTOP_DIR']. Обратите внимание, что если он не определен (это может произойти, это может привести к ошибке), это вызовет ошибку для вашего пользователя. – Takkat 1 April 2013 в 12:50
  • 5
    @Takkat Я это знаю. В настоящее время я использую subprocess.check_output (['xdg-user-dir', 'DESKTOP']) для определения значений. Вы можете увидеть живой пример моего проекта «pygifme». в github: github.com/shakaran/pygifme/blob/master/pygifme.py#L193 Я надеюсь, что это поможет другим – shakaran 1 April 2013 в 13:53

В Ubuntu по умолчанию, на котором запущен Python 2.7, вы можете использовать следующие команды:

#!/usr/bin/env python

import os
import platform

userhome = os.path.expanduser('~')
desktop = userhome + '/Desktop/'
useros = platform.system() # returns e.g. 'Linux' 'Windows' 
distribution = platform.linux_distribution() 'in case it's a Unix

При кодировании приложения с перекрестными платами вам следует знать, что не все настольные среды используют каталог рабочего стола. Это будет даже верно для некоторых настольных компьютеров XDG.

  • Поэтому наш код не должен полагаться на наличие каталога для рабочего стола.

Если вы кодируете разные локали, вам нужно проанализировать имя, указанное для каталог рабочего стола из конфигурации рабочего стола xdg (см. Как я могу получить (XDG) каталоги пользователей по умолчанию из Python? ).

3
ответ дан 25 July 2018 в 18:51

В Ubuntu по умолчанию, на котором запущен Python 2.7, вы можете использовать следующие команды:

#!/usr/bin/env python

import os
import platform

userhome = os.path.expanduser('~')
desktop = userhome + '/Desktop/'
useros = platform.system() # returns e.g. 'Linux' 'Windows' 
distribution = platform.linux_distribution() 'in case it's a Unix

При кодировании приложения с перекрестными платами вам следует знать, что не все настольные среды используют каталог рабочего стола. Это будет даже верно для некоторых настольных компьютеров XDG.

  • Поэтому наш код не должен полагаться на наличие каталога для рабочего стола.

Если вы кодируете разные локали, вам нужно проанализировать имя, указанное для каталог рабочего стола из конфигурации рабочего стола xdg (см. Как я могу получить (XDG) каталоги пользователей по умолчанию из Python? ).

3
ответ дан 2 August 2018 в 01:00

В Ubuntu по умолчанию, на котором запущен Python 2.7, вы можете использовать следующие команды:

#!/usr/bin/env python

import os
import platform

userhome = os.path.expanduser('~')
desktop = userhome + '/Desktop/'
useros = platform.system() # returns e.g. 'Linux' 'Windows' 
distribution = platform.linux_distribution() 'in case it's a Unix

При кодировании приложения с перекрестными платами вам следует знать, что не все настольные среды используют каталог рабочего стола. Это будет даже верно для некоторых настольных компьютеров XDG.

  • Поэтому наш код не должен полагаться на наличие каталога для рабочего стола.

Если вы кодируете разные локали, вам нужно проанализировать имя, указанное для каталог рабочего стола из конфигурации рабочего стола xdg (см. Как я могу получить (XDG) каталоги пользователей по умолчанию из Python? ).

3
ответ дан 6 August 2018 в 01:11

В Ubuntu по умолчанию, на котором запущен Python 2.7, вы можете использовать следующие команды:

#!/usr/bin/env python

import os
import platform

userhome = os.path.expanduser('~')
desktop = userhome + '/Desktop/'
useros = platform.system() # returns e.g. 'Linux' 'Windows' 
distribution = platform.linux_distribution() 'in case it's a Unix

При кодировании приложения с перекрестными платами вам следует знать, что не все настольные среды используют каталог рабочего стола. Это будет даже верно для некоторых настольных компьютеров XDG.

  • Поэтому наш код не должен полагаться на наличие каталога для рабочего стола.

Если вы кодируете разные локали, вам нужно проанализировать имя, указанное для каталог рабочего стола из конфигурации рабочего стола xdg (см. Как я могу получить (XDG) каталоги пользователей по умолчанию из Python? ).

3
ответ дан 7 August 2018 в 18:37

В Ubuntu по умолчанию, на котором запущен Python 2.7, вы можете использовать следующие команды:

#!/usr/bin/env python

import os
import platform

userhome = os.path.expanduser('~')
desktop = userhome + '/Desktop/'
useros = platform.system() # returns e.g. 'Linux' 'Windows' 
distribution = platform.linux_distribution() 'in case it's a Unix

При кодировании приложения с перекрестными платами вам следует знать, что не все настольные среды используют каталог рабочего стола. Это будет даже верно для некоторых настольных компьютеров XDG.

  • Поэтому наш код не должен полагаться на наличие каталога для рабочего стола.

Если вы кодируете разные локали, вам нужно проанализировать имя, указанное для каталог рабочего стола из конфигурации рабочего стола xdg (см. Как я могу получить (XDG) каталоги пользователей по умолчанию из Python? ).

3
ответ дан 10 August 2018 в 07:16

В Ubuntu по умолчанию, на котором запущен Python 2.7, вы можете использовать следующие команды:

#!/usr/bin/env python

import os
import platform

userhome = os.path.expanduser('~')
desktop = userhome + '/Desktop/'
useros = platform.system() # returns e.g. 'Linux' 'Windows' 
distribution = platform.linux_distribution() 'in case it's a Unix

При кодировании приложения с перекрестными платами вам следует знать, что не все настольные среды используют каталог рабочего стола. Это будет даже верно для некоторых настольных компьютеров XDG.

  • Поэтому наш код не должен полагаться на наличие каталога для рабочего стола.

Если вы кодируете разные локали, вам нужно проанализировать имя, указанное для каталог рабочего стола из конфигурации рабочего стола xdg (см. Как я могу получить (XDG) каталоги пользователей по умолчанию из Python? ).

3
ответ дан 15 August 2018 в 19:17
  • 1
    Это мило. Работает как прелесть на Ubuntu. Но будет ли это печатать правильный путь к рабочему столу, даже если его система Windows? – Shyam K 18 May 2012 в 20:27
  • 2
    Путь к окнам /Desktop/ -анализ будет другим. Тем не менее приведенная выше команда даст вам путь к HOME текущего пользователя в Windows. Невозможно проверить это дальше из-за огромной нехватки Windows - вам может потребоваться некоторое экспериментирование;) – Takkat 18 May 2012 в 21:54
  • 3
    / Desktop / не всегда правильно, когда существует папка l18n. Например, для испанского является / Escritorio /. Это взято из XDG_DESKTOP_DIR в ~ / .config / user-dirs.dirs – shakaran 1 April 2013 в 03:59
  • 4
    @shakaran: Благодарю вас за это полезное замечание. Вы можете try получить os.environ['XDG_DESKTOP_DIR']. Обратите внимание, что если он не определен (это может произойти, это может привести к ошибке), это вызовет ошибку для вашего пользователя. – Takkat 1 April 2013 в 12:50
  • 5
    @Takkat Я это знаю. В настоящее время я использую subprocess.check_output (['xdg-user-dir', 'DESKTOP']) для определения значений. Вы можете увидеть живой пример моего проекта «pygifme». в github: github.com/shakaran/pygifme/blob/master/pygifme.py#L193 Я надеюсь, что это поможет другим – shakaran 1 April 2013 в 13:53
[F1]
1
ответ дан 25 May 2018 в 11:15
import subprocess
import os.path

try:
    return subprocess.check_output(['xdg-user-dir', 'DESKTOP'])
except:
    return os.path.expanduser("~/Desktop")
1
ответ дан 2 August 2018 в 01:00
import subprocess
import os.path

try:
    return subprocess.check_output(['xdg-user-dir', 'DESKTOP'])
except:
    return os.path.expanduser("~/Desktop")
1
ответ дан 4 August 2018 в 16:31
import subprocess
import os.path

try:
    return subprocess.check_output(['xdg-user-dir', 'DESKTOP'])
except:
    return os.path.expanduser("~/Desktop")
1
ответ дан 6 August 2018 в 01:11
import subprocess
import os.path

try:
    return subprocess.check_output(['xdg-user-dir', 'DESKTOP'])
except:
    return os.path.expanduser("~/Desktop")
1
ответ дан 7 August 2018 в 18:37
import subprocess
import os.path

try:
    return subprocess.check_output(['xdg-user-dir', 'DESKTOP'])
except:
    return os.path.expanduser("~/Desktop")
1
ответ дан 10 August 2018 в 07:16
import subprocess
import os.path

try:
    return subprocess.check_output(['xdg-user-dir', 'DESKTOP'])
except:
    return os.path.expanduser("~/Desktop")
1
ответ дан 15 August 2018 в 19:17

Другие вопросы по тегам:

Похожие вопросы: