相关疑难解决方法(0)

你怎么读斯坦丁?

我正在尝试做一些代码高尔夫挑战,但它们都需要输入stdin.我如何在Python中获得它?

python stdin

1389
推荐指数
18
解决办法
150万
查看次数

如何在Python中逐行读取大文件

我想迭代整个文件的每一行.一种方法是通过读取整个文件,将其保存到列表中,然后浏览感兴趣的行.这种方法使用了大量内存,所以我正在寻找替代方案.

我的代码到目前为止:

for each_line in fileinput.input(input_file):
    do_something(each_line)

    for each_line_again in fileinput.input(input_file):
        do_something(each_line_again)
Run Code Online (Sandbox Code Playgroud)

执行此代码会显示错误消息:device active.

有什么建议?

目的是计算成对的字符串相似性,意味着对于文件中的每一行,我想与每隔一行计算Levenshtein距离.

python file-read

517
推荐指数
6
解决办法
77万
查看次数

我应该如何在Python中逐行读取文件?

在史前时期(Python 1.4),我们做到了:

fp = open('filename.txt')
while 1:
    line = fp.readline()
    if not line:
        break
    print line
Run Code Online (Sandbox Code Playgroud)

在Python 2.1之后,我们做了:

for line in open('filename.txt').xreadlines():
    print line
Run Code Online (Sandbox Code Playgroud)

在我们在Python 2.3中获得方便的迭代器协议之前,可以做到:

for line in open('filename.txt'):
    print line
Run Code Online (Sandbox Code Playgroud)

我见过一些使用更详细的例子:

with open('filename.txt') as fp:
    for line in fp:
        print line
Run Code Online (Sandbox Code Playgroud)

这是前进的首选方法吗?

[编辑]我得到了with语句确保关闭文件...但为什么不包含在文件对象的迭代器协议中?

python python-2.7 python-3.x

132
推荐指数
3
解决办法
32万
查看次数

从文件或STDIN中读取

我编写了一个命令行实用程序,它使用getopt来解析命令行中给出的参数.我还希望有一个文件名是一个可选参数,比如它在其他实用程序中,如grep,cut等.所以,我希望它具有以下用法

tool -d character -f integer [filename]
Run Code Online (Sandbox Code Playgroud)

我该如何实施以下内容?

  • 如果给出了文件名,则从文件中读取.
  • 如果没有给出文件名,请从STDIN读取.

python command-line stdin arguments file

59
推荐指数
7
解决办法
6万
查看次数

如何在python中编写unix过滤器?

我想编写一个读取stdin(无缓冲)的程序,并编写stdout(unbuffered)进行一些简单的char-by-char转换.为了举例说明,我想要x从stdin中删除所有字符.

python unix filter

12
推荐指数
4
解决办法
4430
查看次数