AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[python](unix)

Martin Hope
ImportanceLow7312
Asked: 2024-10-06 05:36:58 +0800 CST

获取带有括号中数字后缀的唯一文件路径

  • 5

我正在寻找一个可以处理输入文件路径已包含括号中的数字后缀的情况的函数。我get_unique_path函数的当前实现将数字后缀加一,直到找到不存在的路径。但是,当输入文件路径已包含数字后缀时,这种方法会失败。

例如,如果输入文件路径为example(1).txt,则该函数将错误地附加另一组括号和一个数字,导致example(1)(2).txt。相反,我希望该函数检查基本路径中是否存在括号,并相应地增加数字后缀。

这是我当前的实现:

def get_unique_path(file_path: str, extension: str) -> Optional[str]:
    base_path = os.path.splitext(file_path)[0]
    attempt = 1
    while True:
        path = f"{base_path}({attempt + 1}).{extension}"
        
        if not os.path.exists(path):
            return path
        
        attempt += 1

我想修改此函数以处理输入文件路径已包含括号中的数字后缀的情况。有人能提出解决方案吗?

python
  • 2 个回答
  • 16 Views
Martin Hope
chuckd833
Asked: 2024-06-20 07:15:29 +0800 CST

无法在 Amazon Linux 2023 上安装 FISH

  • 5

我有一个运行 Amazon Linux 2023 的 EC2 实例。我按照说明添加了 fish repo。我使用了dnf config-manager --add-repo...,然后dnf config-manager --enable-repo...。我还添加了g++, cmake, pcre2, gettext, gcc, pip和任何构建类型的包。

[root@ip-172-31-24-201 /etc/yum.repos.d]# ls

amazonlinux.repo  fish.repo  kernel-livepatch.repo

我跑了:

[root@ip-172-31-24-201 /etc/yum.repos.d]# dnf clean all

22 files removed

[root@ip-172-31-24-201 /etc/yum.repos.d]# dnf update

Amazon Linux 2023 repository                   38 MB/s |  25 MB     00:00
Amazon Linux 2023 Kernel Livepatch repository  55 kB/s |  10 kB     00:00
Fish shell - 3.x release series (CentOS_8)     27 kB/s |  18 kB     00:00    
Dependencies resolved.
Nothing to do.
Complete!

当我尝试安装 FISH 时,收到以下错误:

[root@ip-172-31-24-201 ec2-user]# dnf install fish

Last metadata expiration check: 0:14:58 ago on Wed Jun 19 22:30:39 2024.
Error: 
 Problem: conflicting requests
  - package fish-3.7.1-3.1.aarch64 from shells_fish_release_3 does not have a compatible architecture
  - nothing provides /usr/libexec/platform-python needed by fish-3.7.1-3.1.aarch64 from shells_fish_release_3
  - nothing provides ld-linux-aarch64.so.1()(64bit) needed by fish-3.7.1-3.1.aarch64 from shells_fish_release_3
  - nothing provides ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) needed by fish-3.7.1-3.1.aarch64 from shells_fish_release_3
  - nothing provides libdl.so.2(GLIBC_2.17)(64bit) needed by fish-3.7.1-3.1.aarch64 from shells_fish_release_3
  - nothing provides libm.so.6(GLIBC_2.17)(64bit) needed by fish-3.7.1-3.1.aarch64 from shells_fish_release_3
  - nothing provides libpthread.so.0(GLIBC_2.17)(64bit) needed by fish-3.7.1-3.1.aarch64 from shells_fish_release_3
  - nothing provides /usr/libexec/platform-python needed by fish-3.7.1-3.1.x86_64 from shells_fish_release_3
(try to add '--skip-broken' to skip uninstallable packages)

我没有使用ARM/aarch64所以我运行了:

[root@ip-172-31-24-201 yum.repos.d]# dnf install fish --skip-broken

Last metadata expiration check: 0:01:27 ago on Wed Jun 19 23:02:14 2024.
Dependencies resolved.

 Problem: cannot install the best candidate for the job
  - nothing provides /usr/libexec/platform-python needed by fish-3.7.1-3.1.x86_64 from shells_fish_release_3
==================================================================================================================================================================================================================
 Package                                     Architecture                                  Version                                             Repository                                                    Size
==================================================================================================================================================================================================================
Skipping packages with broken dependencies:
 fish                                        x86_64                                        3.7.1-3.1                                           shells_fish_release_3                                        4.8 M

Transaction Summary
==================================================================================================================================================================================================================
Skip  1 Package

Nothing to do.
Complete!

有人知道如何修复或安装吗/usr/libexec/platform-python?

谢谢。

python
  • 1 个回答
  • 30 Views
Martin Hope
Gordon Zhang
Asked: 2024-06-16 09:03:23 +0800 CST

如何在 FreeBSD 上安装 pip?

  • 4

我试图在我的 FreeBSD 15.0 服务器上安装 python 和 pip。看起来我已经成功安装了 python。现在我同时拥有 Python3.9 和 Python 3.11。但是,我找不到名为“pip”或“python-pip”的包。我还尝试了包名“python311-pip”、“python3-pip”和“py311-pip”。

我如何安装 pip?

python
  • 1 个回答
  • 35 Views
Martin Hope
Doi
Asked: 2024-05-07 19:14:29 +0800 CST

使用pip安装Python包

  • 5

我既在 Jupyter Notebook 中也直接从终端使用 Python。我的 Python 版本是 3.10.12。

我通过终端(使用 pip install <package-name>)和笔记本(使用 !pip install <package-name>)安装包。错误地,我也曾使用 sudo 安装过一些包。结果,我发现同一个包的版本在多个地方可用:在 /home/username/ 以及在 /usr/lib/python3/dist-packages 里面。请注意,我并没有创建任何环境。所以我认为我所有外部涉及的包都与系统包混在一起。因此,我面临冲突,有时在大多数情况下从 Jupyter Notebook 里面找不到已安装的包。

我的问题是:

. 如何清理这个混乱?

. 有人能提供从安装 Python 开始应遵循的指导吗?

python
  • 1 个回答
  • 26 Views
Martin Hope
ForDummies
Asked: 2024-01-22 06:49:02 +0800 CST

如何使用 Python 读取和恢复驱动器的最后兆字节

  • 4

我正在使用 Python 3 编写一些代码来备份我的硬盘。

我的问题是,某些 RAID 和其他内容会隐藏某些驱动器的第一个和/或最后一个兆字节中的内容。我想确保复制并恢复任何此类内容。第一个兆字节很容易,但我不确定如何最好地完成最后一个兆字节。

我看到有关清除最后 1MB 的旧线程,但答案大多是在 shell 中。例如,请参阅擦除硬盘驱动器的最后 1MB

但我想阅读并恢复它,并且我想使用Python,所以我需要一些帮助。

python
  • 1 个回答
  • 30 Views
Martin Hope
Kalec
Asked: 2023-08-08 18:16:25 +0800 CST

如何找到 cli 调用的路径?

  • 5

假设我正在构建一个 CLI 应用程序。假设它是用 Python 编写的。为了简单起见,假设此应用程序回显给定的目录或文件规范路径。

用户致电myApp ..

我的应用程序如何知道它是从哪里调用的?shell 是否提供某种信息?环境变量?

扩展点似乎不起作用 ( echo ${.})。所以点本身作为参数是没有帮助的。它只是告诉我“当前目录”。但是,同样,我从哪里获取当前目录?

python
  • 2 个回答
  • 29 Views
Martin Hope
PVitt
Asked: 2023-07-21 04:40:56 +0800 CST

如何在 Manjaro 上安装 QGIS 缺少的 Python 模块?

  • 5

我通过 pamac UI 安装了 QGIS,只是发现它抱怨缺少一些插件所需的两个 Python 模块(osgeo、jinja2)。我的第一个想法是通过 pip 安装它们,但 pip 拒绝这样做:

$ pip install osgeo
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try 'pacman -S
    python-xyz', where xyz is the package you are trying to
    install.

    If you wish to install a non-Arch-packaged Python package,
    create a virtual environment using 'python -m venv path/to/venv'.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip.

    If you wish to install a non-Arch packaged Python application,
    it may be easiest to use 'pipx install xyz', which will manage a
    virtual environment for you. Make sure you have python-pipx
    installed via pacman.

note: If you believe this is a mistake, please contact your Python installation
or OS distribution provider. You can override this, at the risk of breaking your
Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

如果我做对了,我必须使用 pacman 来安装系统范围的软件包:

$ sudo pacman -S python-osgeo
error: target not found: python-osgeo

现在我迷路了。Pip 由于某些原因无法工作,如何做的建议也不起作用。有人可以向我解释如何在 Manjaro 上安装 python 包,以便 QGIS 可以使用它的插件吗?

python
  • 1 个回答
  • 40 Views
Martin Hope
minto
Asked: 2023-07-07 05:12:27 +0800 CST

使用 python 脚本在二进制文件中搜索模式

  • 5

我想使用模式和“魔术”标头在分区转储(二进制文件)中找到配置部分的重复副本。配置部分始终以 202'0xff'字节开始,后跟 4 字节'\x00\x00\x23\x27'。该脚本应识别分区内配置的不同副本,并打印模式开始出现的地址(以字节为单位)。我为我的模式调整了现有的 python 脚本,但它不起作用,只是抛出错误,因为字节与字符串混合。如何修复这个脚本?

#!/usr/bin/env python3
import re
import mmap
import sys

magic = '\xff' * 202
pattern = magic + '\x00\x00\x23\x27'

fh = open(sys.argv[1], "r+b")
mf = mmap.mmap(fh.fileno(), 0)
mf.seek(0)
fh.seek(0)
for occurence in re.finditer(pattern, mf):
    print(occurence.start())
mf.close()
fh.close()

错误:

$ ./matcher.py dump.bin
Traceback (most recent call last):
  File "/home/eviecomp/BC2UTILS/dump_previous_profile/./matcher.py", line 13, in <module>
    for occurence in re.finditer(pattern, mf):
  File "/usr/lib/python3.9/re.py", line 248, in finditer
    return _compile(pattern, flags).finditer(string)
TypeError: cannot use a string pattern on a bytes-like object

图案和魔法:

在此输入图像描述

python
  • 1 个回答
  • 31 Views
Martin Hope
Harpreet
Asked: 2022-11-08 21:55:21 +0800 CST

通过python systemctl

  • 5

有什么方法可以systemctl status通过 python 使用 API?我正在寻找另一种在子进程中运行此命令的方法,因为我需要解析输出(如果将来输出更改可能会导致问题)。

python
  • 1 个回答
  • 27 Views
Martin Hope
bluesky
Asked: 2022-07-03 07:44:40 +0800 CST

如何保护 LinuxLite 中的 python 脚本不被复制

  • 0

我的树莓派 SD 卡上有 LinuxLite。Linux Lite 启动后自动运行的 Python 脚本“myscript.py”。我希望任何人都看不到脚本的代码,并且不能将此文件从 SD 卡复制到其他设备或其他 SD 卡。

python
  • 1 个回答
  • 45 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve