如何用PowerShell解析requirements.txt并批量导入Poetry依赖
解决方案
核心逻辑
先按换行符拆分拉取到的文本内容,对每一行做首尾去空白处理后,过滤掉注释行和空行,即可得到符合Poetry入参要求的依赖列表。
方案1:直接在线处理(无需保存本地文件)
# 拉取依赖文件内容并过滤得到有效依赖数组 $package_array = (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/snowflakedb/snowflake-connector-python/v2.5.1/tested_requirements/requirements_36.reqs").Content -split "`n" | ForEach-Object { $_.Trim() } | Where-Object { $_ -notmatch '^#|^$' } # 批量导入到Poetry foreach($package in $package_array){ poetry add $package }
方案2:处理已保存的本地req.txt文件
如果你已经将内容保存到了本地req.txt,可直接用以下代码处理:
# 读取本地文件并过滤得到有效依赖数组 $package_array = Get-Content req.txt | ForEach-Object { $_.Trim() } | Where-Object { $_ -notmatch '^#|^$' } # 批量导入到Poetry foreach($package in $package_array){ poetry add $package }
问题排查说明
之前拆分失败的原因是选用的分隔符不符合文件的实际格式:该依赖文件的行分隔符为换行符,单独用回车符`r或制表符\t作为分隔符无法正确拆分每一行。代码中额外增加的Trim()操作可以自动过滤掉每行首尾的回车符、多余空格,避免异常行干扰。
内容的提问来源于stack exchange,提问作者Jamalan
相关产品推荐
相关产品推荐

