Как печатать без перевода строки или пробела?

Вы можете использовать функции PHP cURL для достижения этой функциональности:

http://www.php.net/curl

// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// grab URL and pass it to the browser
$urlContent = curl_exec($ch);

С этого момента вы получите информацию заголовка ответа с помощью http://www.php.net/curl-getinfo . (Есть несколько значений, которые вы можете захватить, все перечисленные в документации).

// Check if any error occured
if(!curl_errno($ch))
{
    $info = curl_getinfo($ch);
    header('Content-Type: '.$info['content_type']);
    echo $urlContent;
}

Обязательно закройте дескриптор cURL.

// close cURL resource, and free up system resources
curl_close($ch);

1677
задан whackamadoodle3000 13 December 2017 в 04:08
поделиться

3 ответа

Общий путь

import sys
sys.stdout.write('.')

Вы, возможно, также должны звонить

sys.stdout.flush()

для обеспечения stdout, сразу сбрасывается.

Python 2.6 +

Из Python 2.6 можно импортировать эти print функция из Python 3:

from __future__ import print_function

Это позволяет Вам использовать решение Python 3 ниже.

Python 3

В Python 3, print оператор был изменен в функцию. В Python 3 можно вместо этого сделать:

print('.', end='')

Это также работает в Python 2, при условии, что Вы использовали from __future__ import print_function.

, Если Вы испытываете затруднения буферизовать, можно сбросить вывод путем добавления flush=True аргумент ключевого слова:

print('.', end='', flush=True)

Однако примечание, что flush ключевое слово не доступно в версии print функция, импортированная от [1 112] в Python 2; это только работает в Python 3, более конкретно 3.3 и позже. В более ранних версиях необходимо будет все еще сбросить вручную с вызовом к [1 113].

Источники

  1. https://docs.python.org/2/library/functions.html#print
  2. https://docs.python.org/2/library/__future__.html
  3. https://docs.python.org/3/library/functions.html#print
2343
ответ дан Trenton 31 July 2019 в 18:39
поделиться
  • 1
    Думайте, что я нашел, что хорошее решение для проблемы, еще раз спасибо за указание на это, сохранило меня от головных болей в будущем. =P – Phill Pafford 19 May 2009 в 03:24

Примечание: заголовок этого вопроса раньше был чем-то как "Как к printf в Python?"

, Так как люди могут приехать, сюда ища его на основе заголовка, Python также поддерживает замену printf-стиля:

>>> strings = [ "one", "two", "three" ]
>>>
>>> for i in xrange(3):
...     print "Item %d: %s" % (i, strings[i])
...
Item 0: one
Item 1: two
Item 2: three

И, можно ловко умножить строковые значения:

>>> print "." * 10
..........
164
ответ дан Beau 31 July 2019 в 18:39
поделиться
  • 1
    На самом деле код не был портативным, потому что спецификатор формата был %d, но sizeof возвраты size_t, который не подписан и не обязательно размер int. Корректный спецификатор мобильного формата %zu. Я зафиксировал его. – rob mayoff 4 April 2014 в 08:58

Новое (с Python 3.0) print функция имеет дополнительное end параметр, который позволяет Вам изменить конечный символ. Существует также sep для разделителя.

27
ответ дан J...S 31 July 2019 в 18:39
поделиться
  • 1
    Хорошие взгляды, но теперь как я добавляю удаленные опции, если использование выбирает другую радио-опцию, а также обрабатывающие дубликаты. Еще раз спасибо за справку на этом:) – Phill Pafford 19 May 2009 в 02:23
Другие вопросы по тегам:

Похожие вопросы: