Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 1, 2015 16:08:07

mbele-mbele
Зарегистрирован: 2015-09-01
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

printf выводит лишний перевод строки

Добрый день
Прошу помощи, так как сам только начинаю.

# -*- coding: utf-8 -*-
import os
os.system("cls")
for l in "a b c d e f g h i k l m z":
        print l
exit()

… выводит
D:\123\_py\001>python.exe test30.py>123.txt
♀a

b


m

z

То-есть после каждой буквы лишний перевод строки.
да и еще перед ‘a’ какой-то символ.
Как сделать чтобы без символа перед ‘a’ и без лишних переводов строки
а
b
c


Спасибо

Отредактировано mbele-mbele (Сен. 1, 2015 16:08:52)

Офлайн

#2 Сен. 1, 2015 16:18:47

Originator
От: Харьков, Украина
Зарегистрирован: 2015-08-01
Сообщения: 29
Репутация: +  1  -
Профиль   Отправить e-mail  

printf выводит лишний перевод строки

Почему лишняя строка, вы печатаете симаол ПРОБЕЛ. Удалите в исходнике пробелы и будет как ожидаете.

Офлайн

#3 Сен. 1, 2015 16:21:44

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

printf выводит лишний перевод строки

mbele-mbele
Как сделать чтобы без символа перед ‘a’ и без лишних переводов строки
Откуда Вы это взяли?!
for l in "abcdefghiklmz":
    print l

Офлайн

#4 Сен. 1, 2015 16:24:48

J.R.
Зарегистрирован: 2015-07-18
Сообщения: 147
Репутация: +  16  -
Профиль  

printf выводит лишний перевод строки

.

Отредактировано J.R. (Фев. 27, 2016 16:48:59)

Офлайн

#5 Сен. 1, 2015 16:32:07

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

printf выводит лишний перевод строки

J.R.
У него строка с пробелами, т.е для каждого пробела будет выводиться пробел
Я не слепой )
print "a b c d e f g h i k l m z".replace(" ", "\n")

Офлайн

#6 Сен. 1, 2015 16:34:38

mbele-mbele
Зарегистрирован: 2015-09-01
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

printf выводит лишний перевод строки

Originator
Shaman
J.R.
Спасибо большое.
Вообще у меня такая задача …

# -*- coding: utf-8 -*-
import subprocess
proc_list = subprocess.Popen('tasklist', shell=True, stdout=subprocess.PIPE)
lines = []
for line in proc_list.stdout:
    print line
exit()
(я просто хотел упростить вопрос но, видимо, не получилось)

Вывод дает …
C:\Python27\python.exe D123/_py/001/test7.py


€¬п ®Ўа §  PID €¬п бҐббЁЁ ь ᥠ­б  Џ ¬пвм

========================= ======== ================ =========== ============

System Idle Process 0 Services 0 4 ЉЃ

System 4 Services 0 3,300 ЉЃ

smss.exe 360 Services 0 336 ЉЃ

csrss.exe 548 Services 0 1,440 ЉЃ

csrss.exe 608 Console 1 41,560 ЉЃ

wininit.exe 616 Services 0 660 ЉЃ

winlogon.exe 668 Console 1 2,364 ЉЃ


То-есть с лишними переводами строки.
Как их убрать.
Спасибо и сорри если чего.
))

Офлайн

#7 Сен. 1, 2015 16:37:58

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

printf выводит лишний перевод строки

mbele-mbele
Как их убрать.
for line in proc_list.stdout
даёт строки целиком, с завершающим переводом.

Офлайн

#8 Сен. 1, 2015 16:43:43

mbele-mbele
Зарегистрирован: 2015-09-01
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

printf выводит лишний перевод строки

for line in proc_list.stdout
я убираю .stdout
и …
C:\Python27\python.exe D:/123/_py/001/test7.py
Traceback (most recent call last):
  File "D:/123/_py/001/test7.py", line 5, in <module>
    for line in proc_list:
TypeError: 'Popen' object is not iterable
Process finished with exit code 1

Офлайн

#9 Сен. 1, 2015 16:50:28

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

printf выводит лишний перевод строки

mbele-mbele
я убираю .stdout
Зачем?
print proc_list.communicate()[0]

Офлайн

#10 Сен. 1, 2015 16:58:53

mbele-mbele
Зарегистрирован: 2015-09-01
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

printf выводит лишний перевод строки

Shaman
Понял, спасибо, работает, но я лишаюсь возможности отсеивать по
признаку.
То-есть например я хочу выбрать только потоки хрома, я делаю …

# -*- coding: utf-8 -*-
import subprocess
proc_list = subprocess.Popen('tasklist', shell=True, stdout=subprocess.PIPE)
for line in proc_list.stdout:
    if 'chrome.exe' in line:
        print line
exit()

… но вывод “print line” дает лишние 0ah, 0dh
Как бы их устранить.
Получить вывод не
C:\Python27\python.exe D:/123/_py/001/test6.py
(0ah, 0dh)
chrome.exe                    6540 Console                    1    33,872 КБ(0ah, 0dh)
(0ah, 0dh)
chrome.exe                    6172 Console                    1    37,456 КБ(0ah, 0dh)
(0ah, 0dh)
chrome.exe                    6364 Console                    1    60,192 КБ(0ah, 0dh)
(0ah, 0dh)
chrome.exe                    5780 Console                    1    26,844 КБ(0ah, 0dh)
(0ah, 0dh)
chrome.exe                    4904 Console                    1    31,452 КБ(0ah, 0dh)
...

…а
C:\Python27\python.exe D:/123/_py/001/test6.py
chrome.exe                    2284 Console                    1   157,708 ЉЃ
chrome.exe                     308 Console                    1    61,200 ЉЃ
chrome.exe                    2804 Console                    1   108,412 ЉЃ
chrome.exe                    1560 Console                    1   115,880 ЉЃ
chrome.exe                    4176 Console                    1    14,712 ЉЃ
chrome.exe                    2784 Console                    1     9,528 ЉЃ
chrome.exe                    4800 Console                    1    17,456 ЉЃ

… сорри за профанации, только учусь
))

Отредактировано mbele-mbele (Сен. 1, 2015 17:02:00)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version