xopen 2.0.0 does not read stdin fully
Originally logged as https://github.com/marcelm/cutadapt/issues/774 but reduced to an xopen only test case by @rhpvorderman :
```
(xopen) rhpvorderman@tuxminator:~/PycharmProjects/xopen$ pip list | grep xopen
xopen 2.0.0
(xopen) rhpvorderman@tuxminator:~/PycharmProjects/xopen$ wc -l ~/test/5millionreads_R1.fastq
20000000 /home/rhpvorderman/test/5millionreads_R1.fastq
(xopen) rhpvorderman@tuxminator:~/PycharmProjects/xopen$ cat ~/test/5millionreads_R1.fastq | python -c 'import xopen; f=xopen.xopen("/dev/stdin", "rt"); print(f.read())' | wc -l
19999956
(xopen) rhpvorderman@tuxminator:~/PycharmProjects/xopen$ cat ~/test/5millionreads_R1.fastq | python -c 'import xopen; f=xopen.xopen("-", "rt"); print(f.read())' | wc -l
19999956
(xopen) rhpvorderman@tuxminator:~/PycharmProjects/xopen$ pip install xopen==1.9.0 >/dev/null
(xopen) rhpvorderman@tuxminator:~/PycharmProjects/xopen$ cat ~/test/5millionreads_R1.fastq | python -c 'import xopen; f=xopen.xopen("-", "rt"); print(f.read())' | wc -l
20000001
(xopen) rhpvorderman@tuxminator:~/PycharmProjects/xopen$ cat ~/test/5millionreads_R1.fastq | python -c 'import xopen; f=xopen.xopen("/dev/stdin", "rt"); print(f.read())' | wc -l
20000001
(xopen) rhpvorderman@tuxminator:~/PycharmProjects/xopen$
```
The +1 is from print adding a new line.
关闭于 2024-03-28 10 条评论