Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2024, 15:17   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию PATH

здравствуйте код
Код:
import os
for pth in os.environ['PATH'].split(';'):
    print(pth)
выдаст, то, что находится в PATH
и почему всего прочего у меня есть строки
"C:\WINDOWS\system32
C:\WINDOWS\System32\Wbem"
я спрашиваю о наличии кавычек в начале и в конце строки, это ошибка?
и также имеется пустая строка, видимо есть в PATH ";;", это ошибка?
и почему этот код покажет, НЕ то же самое, что команда "echo %PATH%" из командной строки?
спасибо
Ципихович Эндрю вне форума Ответить с цитированием
Старый 13.01.2024, 16:39   #2
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

Код:
print(len(os.environ['PATH']))
print(len(os.popen('echo %PATH%').read()))
print(len(subprocess.check_output('echo %PATH%', shell=True).decode()))
вау, мой вывод
1273
1274
1275
почему так?
точность это не программирование))
Ципихович Эндрю вне форума Ответить с цитированием
Старый 13.01.2024, 18:19   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
я спрашиваю о наличии кавычек в начале и в конце строки, это ошибка?
и также имеется пустая строка, видимо есть в PATH ";;", это ошибка?
Наверное, какая-то программа неудачно отредактировала PATH. Через "Изменение системных переменных среды" уберите кавычки и пустую строку.
Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
почему этот код покажет, НЕ то же самое, что команда "echo %PATH%" из командной строки?
У меня практически совпадает. Добавился только путь "C:\Programs\Python36\lib\site-packages\pywin32_system32" для правильной работы пакета pywin32.
Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
почему так?
Код:
print(repr(os.environ['PATH']))
print(repr(os.popen('echo %PATH%').read()))
print(repr(subprocess.check_output('echo %PATH%', shell=True).decode()))
Во втором случае в конец строки добавляется \n, а в третьем случае - \r\n.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 13.01.2024, 18:37   #4
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

ну да, как выяснилось:
Код:
import os
import subprocess
print(len(os.environ['PATH']))
print(len(os.popen('echo %PATH%').read()))
print(len(subprocess.check_output('echo %PATH%', shell=True).decode()))
os1 = os.environ['PATH']
os2 = os.popen('echo %PATH%').read()[:-1] # в конец строки добавляется \n
os3 = subprocess.check_output('echo %PATH%', shell=True).decode()[:-2] # в конец строки добавляется \r\n
if os1 == os2 and os1 == os3 and os2 == os3: print('True')
1273
1274
1275
True
BDA, спасибо

Последний раз редактировалось Ципихович Эндрю; 14.01.2024 в 09:39.
Ципихович Эндрю вне форума Ответить с цитированием
Старый 14.01.2024, 15:12   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Лучше воспользоваться .strip() для отбрасывания пробельных символов в начале и конце строки.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 14.01.2024, 16:53   #6
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Лучше воспользоваться .strip() для отбрасывания пробельных символов в начале и конце строки
нет в данном случае я хотел проверить, что
Цитата:
Сообщение от BDA Посмотреть сообщение
Во втором случае в конец строки добавляется \n, а в третьем случае - \r\n.
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
path в GDI+ ... Dagmanor Общие вопросы Delphi 1 24.07.2015 11:10
Path в Windows 8 Pein95 Операционные системы общие вопросы 12 18.04.2013 00:20
С++ path KooKish Помощь студентам 6 04.03.2013 10:19
Формат *.path meganet Софт 7 16.01.2013 11:12
Path not found igor_564 Паскаль, Turbo Pascal, PascalABC.NET 3 05.12.2009 21:24