@python_beginnersЭта группа больше не существует

Страница 145 из 1885
vlade11115
14.07.2016
20:10:53
range() работает с целыми числами. Хочешь итерироватся по строке с конца в начало -- нужно использовать срезы. for i in somesrt[::-1]

Темный
14.07.2016
20:12:10
точно.

Так, с этим ок. Теперь когда попадается буква в переборе, то else крашится c TypeError: string indices must be integers я число вроде не пытаюсь запихать

vlade11115
14.07.2016
20:17:36
В else у тебя на место индекса попадает строка( хоть и из одного символа), на что интерпретатор справедливо ругается.

Google
Темный
14.07.2016
20:18:53
точно.)

вышло вот так somestr = input() shifr = '' pre_num = '' for i in somestr[::-1]: if i.isdigit(): pre_num += str(i) num = int(pre_num) elif i.isalpha(): shifr = shifr + i * num pre_num = '' num = 0 print(shifr[::-1])

можно как-то элегантнее, но не трогая логику?

somefile = open('D:\proje\python\file\text.txt', 'r') somestr = somefile.readline().strip() somefile.close() shifr = "" pre_num = "" for i in somestr[::-1]: if i.isdigit(): pre_num += str(i) num = int(pre_num) elif i.isalpha(): shifr = shifr + i * num pre_num = '' num = 0 out = open('D:\proje\python\file\out.txt', 'w') out.wrinte(str(shifr[::-1])) out.close

перенес это в файлы, но чето не работает

vlade11115
14.07.2016
20:47:44
out.wrinte(str(shifr[::-1])) слово write с ошибкой.

Темный
14.07.2016
20:48:44
Traceback (most recent call last): File "D:\proje\python\file\work.py", line 1, in <module> somefile = open('D:\proje\python\file\text.txt', 'r') OSError: [Errno 22] Invalid argument: 'D:\\proje\\python\x0cile\text.txt'

я так понимаю, что он путь не понимает

vlade11115
14.07.2016
20:49:13
Замени полный путь на относительный.

Темный
14.07.2016
20:49:22
а почему полный нельзя?

Sergey
14.07.2016
20:49:25
r добавить или эскейпить бекслеши

Ещё close - это функция

vlade11115
14.07.2016
20:50:02
Мне лень разбираться что там у тебя за система и т.д.

Google
Темный
14.07.2016
20:50:19
ваще винда, ну ок

Sergey
14.07.2016
20:50:32
А вообще, out = лучше заменить на with... as out И close вооьще убрать

Темный
14.07.2016
20:51:26
Замени полный путь на относительный.
относительный - не может найти

А вообще, out = лучше заменить на with... as out И close вооьще убрать
да проблема только в пути, ибо with тоже самое

хочу уже быстрее закончитть и спать лечь просто(

Sergey
14.07.2016
20:52:03
r добавить или эскейпить бекслеши

Темный
14.07.2016
20:52:28
че, грузануть из под линьки чтоль

vlade11115
14.07.2016
20:53:10
относительный - не может найти
Вывод интерпретатора с студию.

Yann
14.07.2016
20:53:13
избегай ваще слешов в форточках

там с фс лютый пиздец всегда

Темный
14.07.2016
20:53:40
Вывод интерпретатора с студию.
Traceback (most recent call last): File "D:\proje\python\file\work.py", line 1, in <module> somefile = open('text.txt', 'r') FileNotFoundError: [Errno 2] No such file or directory: 'text.txt'

vlade11115
14.07.2016
20:54:03
Файлик сам на месте?

Темный
14.07.2016
20:54:24
Я в пустоту пишу?
куда р добавить? он на месте

vlade11115
14.07.2016
20:54:47
Сырая строка имеется в виду.

Sergey
14.07.2016
20:54:54
open(r'D:\...

Темный
14.07.2016
20:55:55
open(r'D:\...
Не помогло

Sergey
14.07.2016
20:56:29
Хотя можно и прямые слеши использовать, интерпретатор это позволяет

Не помогло
Ну либо в пути все же ошибка, либо файла нет)

Google
vlade11115
14.07.2016
20:57:31
+

Темный
14.07.2016
20:58:10
Yann
14.07.2016
20:58:43
попробуй с os.path.join() поиграться

у меня была похожая проблема не так давно, я через этот метод решил

Темный
14.07.2016
20:59:24
да проще из линя загрузиться

Sergey
14.07.2016
21:10:57
http://clip2net.com/s/3AdMRFJ
Путь относительный действует в текущей директории

А не там где лежит файл скрипта

Либо указывать полный путь с r', либо делать cd в директорию с файлом и запускать оттуда

Темный
14.07.2016
21:11:48
так в скрипте и указано - где лежит

вобщем линукс

Sergey
14.07.2016
21:12:13
Там где полный путь не указан r

Sergey
14.07.2016
21:12:22
Судя по скриншоту

Темный
14.07.2016
21:12:25
я пробовал с полным и без полного с r

спасибо за помощь

в линуксе с этим проще как-то)

Sergey
14.07.2016
21:12:53
Ну поправь на обычные слеши

Будет работать

Или вон @zartsoft знает винды, мне просто даже попробовать негде.

Темный
14.07.2016
21:14:26
да уже все)

Google
Темный
14.07.2016
21:14:32
спасибо всем

Sergey
14.07.2016
21:17:16
http://stackoverflow.com/questions/2953834/windows-path-in-python

Admin
ERROR: S client not available

Zart
15.07.2016
02:10:52
лютый пиздец - это когда люди не понимают как работает квотинг и эскейпинг и поэтому советуют сменить ОС, ибо неосилили азы

http://stackoverflow.com/questions/2953834/windows-path-in-python
ответ там не совсем правильный

Andrey
15.07.2016
03:43:25
В винде нет разницы между / и \ в путях, поэтому лучше выбрать линуксовый /

Zart
15.07.2016
03:48:16
как разделитель между каталогами - разницы нет. для унц есть

часть программ парсят такие линуксовые пути как свитчи

плюс записи в логах вида c:/some/path/to\logs выглядят как сраное говно

радуйтесь что классическая макось сдохла, там разделителем каталогов вообще двоеточие

Sergey
15.07.2016
05:56:56
ответ там не совсем правильный
Который из 4х? Вообще, на неанглийских локалях в винде с раздедителем ещё больший треш. На японской и корейской разделитель - вообще не бекслеш. Самый правильный вариант, конечно, с os.path.join

Andy
15.07.2016
05:59:04
Ребят, кто нибудь пользуется анакондой?

Johnnie
15.07.2016
06:55:17
всем привет. а как можно запланировать выполнение проги (которая рассылает уведомления в тлгрм боте), но не в определенное время, а в то время, которое задаст юзер?

если в одно и то же время то это крон, а если в разное, то я даж хз чет

крон каждые 5 минут?)

Petr
15.07.2016
06:56:35
Или добавлять в крон время юзера

Но при большом кол-ве юзеров это не очень идея

Google
Johnnie
15.07.2016
06:57:39
Petr
15.07.2016
06:57:49
Тада надо пробовать нааверн

Мб и норм будет

Johnnie
15.07.2016
06:58:07
даже 30, если быть точным

Dan
15.07.2016
07:51:07
в базе хранить время которое задал пользователь кроном запускать скрипт каждую условную единицу времени и вытаскивать те что пора отправлять

Zart
15.07.2016
07:52:39
https://pypi.python.org/pypi/APScheduler/3.2.0

или atd

Sergey
15.07.2016
08:38:17
В asyncio есть call_at.

Zart
15.07.2016
08:40:01
В asyncio есть call_at.
в еще в каждом гуи и сетевом фреймворке нормального калибра

Sergey
15.07.2016
08:40:54
в еще в каждом гуи и сетевом фреймворке нормального калибра
Их ставить отдельно надо а тут все из коробки

Да и асинхронно таймеры запускать - более правильно.

Zart
15.07.2016
08:48:23
сильно зависит от условий

Страница 145 из 1885

Эта группа больше не существует Эта группа больше не существует