Уведомления

Группа в Telegram: @pythonsu

#1 Июль 11, 2017 12:07:25

xAbs
Зарегистрирован: 2017-07-11
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Доброго времени.
Не могу нигде найти (или не понимаю), как присвоить переменной файл или группу файлов.
Например, на баше было бы так:

for i in ~Documents/log*
do чего-нибудь с файлами
done
Как это можно организовать на питоне 3?
Заранее благодарен за пояснения.

Офлайн

#2 Июль 11, 2017 13:12:19

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Вопросы от новичков.

xAbs
Не могу нигде найти (или не понимаю), как присвоить переменной файл или группу файлов.
Например, на баше было бы так:
 import glob
for i in glob.glob('log*')
  делать что-то

PS. знак ~ в данном примере работать не будет.

Офлайн

#3 Июль 11, 2017 13:25:48

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Что бы ~ работал нудно строку поиска предварительно пропустить через os.path.expanduser()

new_path = os.path.expanduser('~/log*')
for i in glob.glob(new_path):



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Июль 11, 2017 13:59:29

xAbs
Зарегистрирован: 2017-07-11
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

krok64
Оказалось мудрено как. Спасибо, попробую

Отредактировано xAbs (Июль 11, 2017 14:01:01)

Офлайн

#5 Июль 11, 2017 14:20:06

xAbs
Зарегистрирован: 2017-07-11
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Собственно, вот что пробую:

 for i in glob.glob('d:\scripts\uin\hts\log*'):
print(i)
Получаю:
 File "d:\scripts\uin\hts\test.py", line 2
   for i in glob.glob('d:\scripts\uin\hts\log*'):
                                                             ^
SyntaxError: invalid syntax

Отредактировано xAbs (Июль 11, 2017 14:21:26)

Офлайн

#6 Июль 11, 2017 14:28:38

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Странно. Вот так все работает.

 import glob
for i in glob.glob('d:\*'):
    print(i)

4 пробела перед print важны. перед import пробела быть не должно.

Отредактировано krok64 (Июль 11, 2017 14:30:16)

Офлайн

#7 Июль 11, 2017 14:37:08

xAbs
Зарегистрирован: 2017-07-11
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

krok64
4 пробела перед print важны. перед import пробела быть не должно.
Это я не тот код поставил в сообщении, поэтому перенеслось криво, извиняюсь.
Стоит Пробел перед импортом и Таб перед принтом.

Офлайн

#8 Июль 11, 2017 14:46:06

xAbs
Зарегистрирован: 2017-07-11
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Я прошу прощения за банальные вопросы, самому не удобно. Я изучал два дня с десяток статей по питону3, а сейчас ничего не работает, не смотря на вроде бы правильный синтаксис.
Пробую на ubuntu:

 cat test.py 
#!/usr/bin/python3
 import globe
for i in glob.glob('/home/user/*'):
	print(i)
Вывод:
   File "test.py", line 2
    import globe
    ^
IndentationError: unexpected indent
Пробел стоит перед import. Пробовал убрать - так же. Перед принтом пробовал таб/4 пробела.
На винде такая же ошибка. И там, и там 3 версия.

Отредактировано xAbs (Июль 11, 2017 14:47:30)

Офлайн

#9 Июль 11, 2017 14:48:55

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Вопросы от новичков.

xAbs
Пробел стоит перед import. Пробовал убрать - так же.
Перед import пробелов быть не должно (это косяк отображения форума)

Офлайн

#10 Июль 11, 2017 14:54:04

xAbs
Зарегистрирован: 2017-07-11
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

krok64
Перед import пробелов быть не должно (это косяк отображения форума)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version