TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #183 · 23 ное.

Python + bash Если вам часто требуется запускать shell команды из Python-кода, какой способ вы используете? Самый низкоуровневый это функция os.system(), либо os.popen(). Рекомендованный способ это subprocess.call(). Но это всё еще достаточно неудобно. Советую обратить своё внимание на очень крутую библиотеку sh. Что она умеет? 🔸 удобный синтаксис вызова команд как функций # os import os os.system("tar cvf demo.tar ~/") # subprocess import subprocess subprocess.call(['tar', 'cvf', 'demo.tar', '~/']) # sh import sh sh.tar('cvf', 'demo.tar', "~/") 🔸 простое создание функции-алиаса для длинной команды fn = sh.lsof.bake('-i', '-P', '-n') output = sh.grep(fn(), 'LISTEN') в этом примере также задействован пайпинг 🔸 удобный вызов команд от sudo with sh.contrib.sudo: print(ls("/root")) Такой запрос спросит пароль. Чтобы это работало нужно соответствующим способом настроить юзера. А вот вариант с вводом пароля через код. password = "secret" sudo = sh.sudo.bake("-S", _in=password+"\n") print(sudo.ls("/root")) Это не все фишки. Больше интересных примеров смотрите в документации. Специально для Windows💀 юзеров #libs#linux

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #koltin

当前筛选 #koltin清除筛选
Android Broadcast

@android_broadcast · Post #9301 · 06.07.2025 г., 18:53

🏝Проблемы с порядком Gradle Task при использовании KSP 2.0.2 Продолжаю разработку проекта FrameIO - Kotlin Multiplatform клиента для сервиса frame.io и стоклнулся с падением сборки из-за порядка задач (ниже стек с примером проблемы): Some problems were found with the configuration of task ':module:kspDebugKotlinAndroid' (type 'KspAATask'). - Gradle detected a problem with the following location: './module'. Reason: Task ':module:kspDebugKotlinAndroid' uses this output of task ':module:javaPreCompileDebug' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Possible solutions: 1. Declare task ':module:javaPreCompileDebug' as an input of ':module:kspDebugKotlinAndroid'. 2. Declare an explicit dependency on ':module:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#dependsOn. 3. Declare an explicit dependency on ':core:user-session:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#mustRunAfter. For more information, please refer to https://docs.gradle.org/8.14.2/userguide/validation_problems.html#implicit_dependency in the Gradle documentation. Стек для сборки: Gradle 8.14.2, Kotlin 2.2.0, KSP 2.2.0-2.0.2, AGP 8.11.0 Решения проблемы пока нету в KSP (одно из issue), поэтому я задаю порядок Gradle Task сам: // build.gradle.kts модуля где подключен ksp afterEvaluate { android.libraryVariants.forEach { variant -> val variantCapitalized = variant.name.capitalized() tasks.named("ksp${variantCapitalized}KotlinAndroid") { dependsOn( "${variant.name}AssetsCopyForAGP", "process${variantCapitalized}Manifest", "write${variantCapitalized}AarMetadata", "javaPreCompile${variantCapitalized}", "merge${variantCapitalized}Assets", "merge${variantCapitalized}JniLibFolders", "merge${variantCapitalized}NativeLibs", "copy${variantCapitalized}JniLibsProjectOnly", "generate${variantCapitalized}EmptyResourceFiles", "copy${variantCapitalized}JniLibsProjectAndLocalJars", "prepare${variantCapitalized}ArtProfile", "write${variantCapitalized}LintModelMetadata", "extractProguardFiles", "prepareLintJarForPublish", ) } } } #android#kmp#koltin#ksp