我想从输入中创建一个数组,所以我使用sys.stdin.readlines()。我的输入是多个整数,如下所示:
random number
random number
random number
random number
但是,sys.stdin.readlines()创建了一个数组,并将所有这些随机数转换为字符串。数组如下所示:
Array = ['random number\n','random number\n','random number\n','random number\n']
这不是我想要的。我希望输入不是变成
首先,我需要得到行数,所以我需要:
for line in sys.stdin:
c = c + 1
print("Number of lines:" + str(c))
A = [[] for x in range(0,c)]
print(A)
但是,我需要再次输入一个for line in sys.stdin:,因为我需要读取输入。
它不起作用,第二次它几乎和输入被消耗时一样,现在是空的。
我有一个字符串列表,我想按照每个字符串的第二个元素进行排序。
这是我的密码:
import sys
line = ""
for n in [line for line in sys.stdin.readlines()]:
list = []
list = n
print list.split()
产出:
['qlwekjrwer', '0']
['sdlkfsdf', '6245']
['lkdjfs', '3985']
['sdfsdfs'
我有下面的代码来读取数据
import sys
data = sys.stdin.readlines()
id = 0
while id < len(data) - 1:
n = int(data[id])
id += 1
some_list = []
for _ in range(n):
x1, y1, x2, y2 = map(str, data[id].split(" "))
some_list.append([x1, y1, x2, y2])
id += 1
print(s
我试图在python中创建一个逐行过滤器。但是,stdin.readlines()在开始处理之前读取所有行,并且python内存耗尽(MemoryError)。
我怎么能一次只记一行呢?
我有这样的代码:
for line in sys.stdin.readlines():
if( filter.apply( line ) ):
print( line )
(注:我在2.6上)
我正在用python写一个简单的日志程序。我使用了sys.stdin.readlines(),这样用户就可以按enter键开始新的段落,而不必退出程序。问题是,当它将输入写入文本文件时,它会跳过他们输入的第一个段落。因此,他们在开始新行之前编写的任何内容都不会写入到文件中。
#!/usr/bin/python
import sys
def main(): #begin stand alone program
print "\nPlease tell me about your day.\n";
userEntry = raw_input() #assign
我有一个需要输入的程序: program.py < test.txt
我该如何让程序在没有得到文件输入的情况下退出?
下面是我读取输入的方式:
def file():
global index
import sys
tempo = sys.stdin.readlines()
for element in tempo:
if(index == 1):
key_route.append(element.strip('\n').rstrip().lstrip().lower())
我试图解决一个Codechef问题()。问题是
给定数字列表,您将按非递减顺序对它们进行排序。
输入
T-列表中的数字数,然后t行跟随t <= 10^6.
每一行包含一个整数:n0 <= n <= 10^6
输出
以不递减的顺序输出给定的数字。
示例
输入:
5 5 3 6 7 1
输出:
1 3 5 6 7
我的解决办法是:
l = []
t = input()
MAX = 10**6
while t <= MAX and t != 0:
n = input()
l.append(n)
t = t - 1
st = sorted(l)
我正在尝试高效地解析vmstat输出,最好是在awk或sed中,它也应该可以在linux和hp-ux上工作。例如,我想从以下输出中减少cpu idle %(在本例中为“92”):
$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
11 0 385372 101696 61704 650716 0 1
我有以下main.py。
#!/usr/bin/env python
# vim: set noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1 fileencoding=utf-8:
import nltk
import string
import sys
for token in nltk.word_tokenize(''.join(sys.stdin.readlines())):
#print token
if len(token) == 1 and not token in string.punctuati
我需要通过管道实时吸收bash命令的输出。E.g
for i in $(seq 1 4); do echo $i; sleep 1; done | ./script.py
其中script.py有这样的
for line in sys.stdin.readlines():
print line
我希望序列在可用时被打印出来,但是python脚本正在等待bash脚本结束才能继续。
我看了与相关的答案,但这并没有解决我的问题。如何在python中实现这一点?
我有一个字符串(下面),我被要求编写代码,所以它只打印出名称。
s = "jimmy.clancy5@mail.ucd.ie"
output =" Jimmy Clancy"
下面的代码将字符串拆分成标记,第一个名称是正确的,但是第二个名称也打印了5@mail,我不确定如何删除它
import sys
input = sys.stdin.readlines()
for name in input:
name = name.strip().split(".")
second_name =
请看一下我的代码,告诉我哪里出错了。我正试图解决SPOJ上的一个问题,在线法官给了我一个运行时错误(NZEC)
我正试图解决这个问题--
def isprime(n):
if n < 2:
return 1
if n == 2 or n == 3:
return 0
if n % 2 == 0 or n % 3 == 0:
return 1
for i in range(5, int(n ** 0.5) + 1, 6):
if n % i == 0 or n % (i + 2) == 0:
return 1
return
投入-6
14
2
54
13
11
67
89
98
79
import sys
n=int(input()) #entering number of elements
lst=[int(x) for x in sys.stdin.readlines(n)] #takinginput
print(lst)
产出:
[14, 2]
预期产出-
[14,2,54,13,11,67]
下面是python中的map-reduce脚本,用于查找特定列的计数。输入文件如下:
301838690844557314|#awkwarddate first date at quiznoes|334910568|gabriellarichh|20130213|awkwarddate|Point|40.456664|-74.265167
301838679280861185|RT @jimmyfallon: Ended my very first date by saying, "Take it easy." And then my dad drove me h
这就是我到目前为止所拥有的。但它只是挂着。
import os
import sys
import re
directory_path=os.path.dirname(os.path.abspath(__file__))
for root, dirs, files in os.walk(directory_path):
for file in files:
s = ''.join(sys.stdin.readlines())
s = re.sub(r'(?m)^\<.*\n?', '