Skip to content

Commit ccbe727

Browse files
authored
Merge pull request #1433 from effigies/sty/ruff
sty: Apply ruff fix for looped file.write
2 parents d8160e2 + f3ec45a commit ccbe727

File tree

4 files changed

+8
-10
lines changed

4 files changed

+8
-10
lines changed

nibabel/cmdline/parrec2nii.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -358,8 +358,7 @@ def proc_file(infile, opts):
358358
)
359359
with open(basefilename + '.bvals', 'w') as fid:
360360
# np.savetxt could do this, but it's just a loop anyway
361-
for val in bvals:
362-
fid.write(f'{val} ')
361+
fid.writelines(f'{val} ' for val in bvals)
363362
fid.write('\n')
364363
else:
365364
verbose('Writing .bvals and .bvecs files')
@@ -369,13 +368,11 @@ def proc_file(infile, opts):
369368
bvecs = apply_affine(bv_reorient, bvecs)
370369
with open(basefilename + '.bvals', 'w') as fid:
371370
# np.savetxt could do this, but it's just a loop anyway
372-
for val in bvals:
373-
fid.write(f'{val} ')
371+
fid.writelines(f'{val} ' for val in bvals)
374372
fid.write('\n')
375373
with open(basefilename + '.bvecs', 'w') as fid:
376374
for row in bvecs.T:
377-
for val in row:
378-
fid.write(f'{val} ')
375+
fid.writelines(f'{val} ' for val in row)
379376
fid.write('\n')
380377

381378
# export data labels varying along the 4th dimensions if requested

nibabel/openers.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
if ty.TYPE_CHECKING:
2222
from types import TracebackType
2323

24-
from _typeshed import WriteableBuffer
24+
from _typeshed import ReadableBuffer, WriteableBuffer
2525

2626
from ._typing import Self
2727

@@ -231,6 +231,9 @@ def readinto(self, buffer: WriteableBuffer, /) -> int | None:
231231
def write(self, b: bytes, /) -> int | None:
232232
return self.fobj.write(b)
233233

234+
def writelines(self, lines: ty.Iterable[ReadableBuffer], /) -> None:
235+
self.fobj.writelines(lines)
236+
234237
def seek(self, pos: int, whence: int = 0, /) -> int:
235238
return self.fobj.seek(pos, whence)
236239

nibabel/volumeutils.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -830,8 +830,7 @@ def write_zeros(fileobj: io.IOBase, count: int, block_size: int = 8194) -> None:
830830
nblocks = int(count // block_size)
831831
rem = count % block_size
832832
blk = b'\x00' * block_size
833-
for bno in range(nblocks):
834-
fileobj.write(blk)
833+
fileobj.writelines(blk for bno in range(nblocks))
835834
fileobj.write(b'\x00' * rem)
836835

837836

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,6 @@ ignore = [
164164
"RUF012", # TODO: enable
165165
"RUF015",
166166
"RUF017", # TODO: enable
167-
"UP038", # https://github.com/astral-sh/ruff/issues/7871
168167
# https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
169168
"W191",
170169
"E111",

0 commit comments

Comments
 (0)