Длинная строка остается неизменной, может ли python-black преобразовать их в многострочные

Перед:

value = "aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj sdklfjdsklfjdskl fjdskl jdsklf jdsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dkl"

После запуска black --line-length 80 file.py: (длинная строка остается без изменений)

value = "aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj sdklfjdsklfjdskl fjdskl jdsklf jdsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dkl"

Ожидаемое поведение (что-то близкое к этому):

value = """aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj
        sdklfjdsklfjdskl fjdskl jdsklf jdsklfj dsklfj
        dsklfj dsklfj dsklfj dsklfj dsklfj dkl"""

или

value = "aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj" \
        "sdklfjdsklfjdskl fjdskl jdsklf jdsklfj dsklfj" \
        "dsklfj dsklfj dsklfj dsklfj dsklfj dkl"

[Q] Длинная строка остается без изменений, может python-blackпреобразовать их в мультилины? Если нет, есть ли другой инструмент для этого?

1 ответ

Решение

Из следующей открытой проблемы github:

Черный уже переносит длинные строковые литералы из-за #1132. Однако мы еще не выпустили новую версию, поэтому она живет только в основной ветке этого репо.

(black) richard-26@ubuntu-laptop:~/programming/black$ black test.py -l
80 --color --diff
--- test.py   2020-07-01 14:36:24.700946 +0000
+++ test.py   2020-07-01 14:36:38.436792 +0000 @@ -1 +1,4 @@
-value = "aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj sdklfjdsklfjdskl fjdskl jdsklf jdsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dkl"

+value = (
+    "aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj sdklfjdsklfjdskl fjdskl"
+    " jdsklf jdsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dkl"
+) 
would reformat test.py 
All done! ✨  ✨ 
1 file would be reformatted. ```
Другие вопросы по тегам