@ru_python

Страница 6317 из 9768
Google
Adam
23.08.2018
12:37:49
Нзчт

Юрий
23.08.2018
12:42:21
Нзчт
а єт проблемы не решило(((. Не отправляет. Пишет ... sending = ftp.storlines('STOR '+ namefilemass[count], sendFTP) File "/usr/lib/python3.5/ftplib.py", line 529, in storlines with self.transfercmd(cmd) as conn: File "/usr/lib/python3.5/ftplib.py", line 398, in transfercmd return self.ntransfercmd(cmd, rest)[0] File "/usr/lib/python3.5/ftplib.py", line 364, in ntransfercmd resp = self.sendcmd(cmd) File "/usr/lib/python3.5/ftplib.py", line 272, in sendcmd return self.getresp() File "/usr/lib/python3.5/ftplib.py", line 245, in getresp raise error_perm(resp) ftplib.error_perm: 550 The parameter is incorrect. сам код presscount += 1 namefile = str(presscount)+ '#' + datetime.strftime(datetime.now(), '%d.%m.%Y %H:%M') + 'uknews.html' namefilemass.append(namefile) with codecs.open(namefile,'w','windows-1251') as cutfile: cutfile.write(template.render(parse_datetime = parse_datetime, textmass=textmass[i], contentmass=contentmass[i], autormass=autormass[i])) i += 1 #Закидываем файлы на FTP time.sleep(5) ftp = ftplib.FTP('', '', '') ftp.login("", "") #path = os.path.abspath(namefile) count = 0 print(namefilemass[0]) while count <= len(namefilemass): sendFTP = open(namefilemass[count],'rb') sending = ftp.storlines('STOR '+ namefilemass[count], sendFTP) count += 1 ftp.quit() может знаешь что?

Danil
23.08.2018
12:42:39
у меня строка байт типа стр, как мне эту строку байт сделать типа байтес?

Юрий
23.08.2018
12:44:06
бляяя
ахахахах та я пол дня переписываю по разному.. и не пойму. Файл скрипта и нарезаные файлы которые и нужно отправить на фтп в одной директории. (пути не нужно так понимаю .. ну я и даю имя файла..( Ок. Залью.

Юрий
23.08.2018
12:45:53
https://pastebin.com/
https://pastebin.com/ad7jhAkP

Adam
23.08.2018
12:46:52
*facepalm*

Google
Ruslan
23.08.2018
12:47:50


*facepalm*
*facepalm*

Андрей
23.08.2018
12:49:49
Такое бывает?

Юрий
23.08.2018
12:50:10
Такое бывает?
я соу лакки)

Adam
23.08.2018
12:50:20
https://pastebin.com/ad7jhAkP
ftp.storbinary("STOR " + filename, open(filename, 'rb'))

Danil
23.08.2018
12:50:30
когда делаю через bytes то он экранирует обратный слэш

Adam
23.08.2018
12:50:48
https://pastebin.com/ad7jhAkP
так как ты открыл в бинарном вие в бинарном и передавай

Такое бывает?
ахах) видимо бывает

Юрий
23.08.2018
12:52:38
ftp.storbinary("STOR " + filename, open(filename, 'rb'))
ftp.storbinary - понял попробую ... а какого хрена на одном сайте соверовали именно так как я делал...

Danil
23.08.2018
12:55:08
мне не надо его экранировать

Undefined
23.08.2018
12:55:56


Danil
23.08.2018
12:56:07
да

Undefined
23.08.2018
12:56:15
ору

это так и должно быть

Danil
23.08.2018
12:56:36
нет стоп, я создаю строку байт типа байтес

Google
Undefined
23.08.2018
12:56:38
потому что это не строка "b'abc\\'"

Danil
23.08.2018
12:56:46
потом кидаю ее на сайт

там она уже естественно в стр переходит

и мне нужно обратно в строку байт это перевести

Undefined
23.08.2018
12:57:16


что тебе не так?

Danil
23.08.2018
12:57:58
строка с одним слэшем

Undefined
23.08.2018
12:58:03
таки лол

Adam
23.08.2018
12:58:23
print должен выводить только одну слеш

Лол

Undefined
23.08.2018
12:58:44
блин, а по-твоему тогда b'\x1b[31m' это будет то же самое, что \x1b[31m когда строкой сделаешь?

Aragaer
23.08.2018
12:58:47
сделай repr(string)

Adam
23.08.2018
12:58:57
два слеша = \\\\

Aragaer
23.08.2018
12:59:02
и repr by

Undefined
23.08.2018
12:59:25
да
пи... кхм, нет

Danil
23.08.2018
12:59:32
кхм да

Aragaer
23.08.2018
12:59:52
b'abc\\' содержит только один слеш, но при печати будет показывать два, потому что так надо

Undefined
23.08.2018
12:59:54


Danil
23.08.2018
13:00:40
тада какого

Google
Danil
23.08.2018
13:00:41


Aragaer
23.08.2018
13:00:53
ну вот. Принт показывает "отображение", которое для строк и байтов выглядит по-разному

а repr у них более менее одинаковый и поэтому все ок

Undefined
23.08.2018
13:01:19
кхм да
окей string = "abc\\" with open('string', 'w') as f: f.write(string) by = bytes(string, 'utf-8') with open('bytes', 'wb') as f: f.write(by) и открой файлы string и bytes

Aragaer
23.08.2018
13:01:34
b'3b\\xe4' это 6 байт b'3b\xe4' это 3 байта

Danil
23.08.2018
13:02:08
и как мне это исправить

Aragaer
23.08.2018
13:02:20
что характерно, в первом наборе присутствует байт b'\\', а во втором его нет

исправлять надо раньше. Откуда у тебя вообще такие байты получились?

Undefined
23.08.2018
13:02:46
братиш, сколько ты в питоне?

Danil
23.08.2018
13:02:53


это с одним слэшем

Aragaer
23.08.2018
13:03:03
... вроде есть какой-то способ превратить строку в ее отображение, но я чот сходу не помню

Undefined
23.08.2018
13:03:16


Danil
23.08.2018
13:03:27
а вот после этого уже добовляется второй слэш



Undefined
23.08.2018
13:03:38
ууух блять

Danil
23.08.2018
13:03:52
и это не одно и тоже

потому что сообщение не декоируется

Undefined
23.08.2018
13:04:14
давайте раскажем Даниилу про методы __str__ и __repr__

Экранирование делается ТОЛЬКО в принте, если ты отправишь b"\\", то отправится один байт - сам слеш \, а не два байта \\

Google
Aragaer
23.08.2018
13:05:26
>>> x=b'\\x20' >>> print("[{}]".format(x.decode())) [\x20] >>> print("[{}]".format(x.decode('unicode_escape'))) [ ]

во

нагуглил

Юрий
23.08.2018
13:05:44
и не забывай закрывать файлы!
ошибка есть и по другому немного переписал. Traceback (most recent call last): File "testukrgo.py", line 111, in <module> sending = ftp.storlines('STOR '+ namefilemass[count], sendFTP) File "/usr/lib/python3.5/ftplib.py", line 529, in storlines with self.transfercmd(cmd) as conn: File "/usr/lib/python3.5/ftplib.py", line 398, in transfercmd return self.ntransfercmd(cmd, rest)[0] File "/usr/lib/python3.5/ftplib.py", line 364, in ntransfercmd resp = self.sendcmd(cmd) File "/usr/lib/python3.5/ftplib.py", line 272, in sendcmd return self.getresp() File "/usr/lib/python3.5/ftplib.py", line 245, in getresp raise error_perm(resp) ftplib.error_perm: 550 The parameter is incorrect. - пастбин https://pastebin.com/xS0Knewq (если конечно есть время())

Undefined
23.08.2018
13:05:46
попробуй написать b"\" и получишь SyntaxError, потому что ты экранировал кавычку

Aragaer
23.08.2018
13:06:02
ну \x20 это пробел, если кто не в курсе

Undefined
23.08.2018
13:06:34
ну \x20 это пробел, если кто не в курсе
ну те, кто не в курсе про это, не знают, как работает экранирование

Danil
23.08.2018
13:06:38
при чем тут принт

вы че хотите сказать

что \x20

Undefined
23.08.2018
13:06:55
> print(crypto)

Aragaer
23.08.2018
13:07:00
не все, кто в курсе про эскейп, знают, что 0x20 это пробел

Danil
23.08.2018
13:07:14
и \\x20

Undefined
23.08.2018
13:07:21
чувак, b' ' == b'\x20'

Danil
23.08.2018
13:07:22
это один и тот же байт?

вы че хотите сказать

что \x20

и \\x20

Страница 6317 из 9768