标签: python

如何使用 Python 获取用户下载文件夹位置

因此,我正在开发一个由 Wget 驱动的简单下载管理器,[EasyDownloader][1],我用它来学习 Python,但我遇到了一个问题。

我想将文件保存在 Downloads 文件夹中,但在没有 Ubuntu 的计算机上,它不被称为“Downloads”(英语)。所以我想知道Ubuntu是否有下载路径或类似的东西?

python wget application-development

2
推荐指数
1
解决办法
6892
查看次数

Ubuntu 12.10 的 Python libgtop 绑定?

从12.04就地升级到12.10,Python import gtop停止工作。

ubuntu Quantal 中的python-gtop 2.32.0+dfsg-1(amd64 二进制)表示已取代

安装 python-gnomedesktop 和 python-gnome2-desktop-dev 没有帮助。

ubuntu Quantal 的 Python libgtop 绑定在哪里?

gnome python 12.10

2
推荐指数
1
解决办法
757
查看次数

redshift-gtk 在启动时崩溃,导入错误:没有名为“xdg”的模块

每当我尝试运行时,都会收到以下错误redshift-gtk

Traceback (most recent call last):
  File "/usr/bin/redshift-gtk", line 26, in <module>
    from redshift_gtk.statusicon import run
  File "/usr/lib/python3.4/site-packages/redshift_gtk/statusicon.py", line 38, in <module>
    from . import utils
  File "/usr/lib/python3.4/site-packages/redshift_gtk/utils.py", line 23, in <module>
    from xdg import BaseDirectory as base
ImportError: No module named 'xdg'
Run Code Online (Sandbox Code Playgroud)

我无法在互联网上找到任何解决方案,所以也许这里有人可以帮助我?简单redshift似乎可行。或者,如果我向它提供有效的论据,它就会发生。

操作系统:

Linux Mint 17.2 KDE 版本。

python gtk mint redshift

2
推荐指数
1
解决办法
5252
查看次数

tee 命令有什么问题?

我正在运行以下python脚本pipedtee命令

#!/usr/bin/python

from sys import exit,exc_info
from time import sleep

try:
    print "hello"
    #raise KeyboardInterrupt
    while True:
        print "hello"
        sleep(1)

except KeyboardInterrupt:
    print "Key board Interrupt"
    exit(0)
Run Code Online (Sandbox Code Playgroud)

假设我将其存储在file.py

现在如果我执行:

./file.py | tee somefile
Run Code Online (Sandbox Code Playgroud)

现在按Ctrl+C,观察没有任何内容打印到somefilestdout

正常执行情况下:

./file.py
Run Code Online (Sandbox Code Playgroud)

之上Ctrl+C

 hello
 hello
 ^CKey board Interrupt
Run Code Online (Sandbox Code Playgroud)

文件重定向也工作正常。出了什么问题tee

python command-line bash

2
推荐指数
1
解决办法
3864
查看次数

在 ubuntu/trusty64 中运行时,“python -v”和“python -V”有什么区别?

我正在尝试确定 python 版本,但是当我使用小写“v”运行命令 python -V 时,我发现我已移至 python 提示符,而不是仅返回 python 版本。我尝试找出两者之间的区别,但找不到任何有用的东西。请大家指点一下两者有什么区别。

python

2
推荐指数
1
解决办法
2392
查看次数

如何将 pip 升级到版本 &gt;&gt; 9.0.1 ?(pip install --upgrade pip 给出“无法导入名称 main”错误)

我安装了 pip 8.1,并且想升级到 > 9.0.1(为 python 2.7 安装 matplotlib)。我看到如何将 pip 升级到最新版本?并做了

sudo -H pip3 install --upgrade pip
sudo -H pip2 install --upgrade pip
Run Code Online (Sandbox Code Playgroud)

但在那之后,如果我输入pip --version,我会得到

ckim@chan-ubuntu:~$ pip --version
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main
Run Code Online (Sandbox Code Playgroud)

我以前经历过这种情况并且我知道解决方案(嗯。听起来像德语词序..:)),所以我这样做了

sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall
Run Code Online (Sandbox Code Playgroud)

然后我输入pip --version …

upgrade python apt pip

2
推荐指数
1
解决办法
2万
查看次数

为什么我的自定义启动器文件在启动器栏上创建两个图标?

我制作了一个 .desktop 文件,以便能够从启动栏启动我的 python 脚本。

我将 python 脚本设置为可执行文件,如果双击并从文件管理器运行它,它可以正常运行。它在终端上也运行良好。

桌面文件位于以下位置/.local/share/applications/,如下所示:

[Desktop Entry]
Version=1.0
Name=Simple Timer
Comment=Timer
Exec=python3 /home/user/app/timer.py
Icon=/home/user/app/icon/timer.png
Path=/home/user/app/timer/
Terminal=false
Type=Application
Categories=Utility;Application;
Run Code Online (Sandbox Code Playgroud)

如果我在 Dash 中搜索“Timer”,它就会出现。我可以从那里运行它。运行它会在启动栏上创建两个重复的图标,如图所示。

在此输入图像描述

  • 第一个图标将跳动约 10 秒,然后消失。该图标可锁定到启动器。如果该图标被锁定到启动栏,则应用程序窗口关闭后它也会跳动几秒钟,在此期间,它将无法单击。
  • 第二个图标无法锁定到启动器,并且仅在应用程序窗口关闭时才会消失。

如果我从文件管理器运行脚本。它创建 1 个运行正常的启动器图标。

我已验证 .desktop 文件中没有重复的 .desktop 文件/usr/share/applications/。我创建的 .desktop 文件仅存在于/.local/share/applications/,如果删除,我将无法再在 Dash 上搜索我的计时器或将其锁定到启动栏。

如何解决此处的脉动/无法点击问题和双图标问题?

icons python unity launcher 16.04

2
推荐指数
1
解决办法
1326
查看次数

Python 3.8.x 20.04 中的问题

我已经开始恢复到大约 1.5 周前的 MicroSD 备份映像,直到将其写入全新的 SanDisk Micro SD 卡后,ext4 文件系统在启动时出现了一堆 inode 错误,所有内容都在操作系统或多或少完全损坏了,并且fsck基本上给出了文件系统级别损坏的疯狂列表。这是一张全新的 Sandisk Micro SD 卡,但显然在备份过程中,数据损坏从后门溜进来。

我在 Raspberry Pi 4B 上运行 Ubuntu 20.04,这意味着它在 arm64 架构上运行,因此建议直接从 kernel.org 下载 .deb 软件包或安装 iepython3-minimal不起作用,因为没有任何ARM64 的安装候选。

  • 指向 .deb 和其他安装包的解决方案根本不存在于 arm64 架构中。

  • 还有很多过时的或完全糟糕的建议——而且,手册或 Ubuntu 用户社区中描述的系统恢复方法(Raspberry Pi 上的启动 CD?)都不适用于 Raspberry Pi 上的 20.04 4B,至少现在还没有。

我的安装仍然进展缓慢,但无论我如何尝试,apt/dpkg 更新系统仍然很糟糕。我尝试下载 .deb 软件包并单独安装它们,但没有成功。

至于这一刻;Py3compile 和 Pyclean 在任何地方都找不到,这两个是 dpkg/apt 不起作用的罪魁祸首,所以这个答案不起作用。

$ sudo apt install python3-all
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-all …
Run Code Online (Sandbox Code Playgroud)

upgrade package-management python apt dpkg

2
推荐指数
1
解决办法
7006
查看次数

在 Ubuntu 20.04 Raspberry Pi 上启用 SPI 和 I2C

使用 Rasbian 有一个方便的工具rasi-config可以在树莓派上启用/禁用 SPI 和 I2C。然而,Ubuntu 没有这样的工具,也没有简单的方法来启用它们(据我谷歌搜索)。有一些类似的补丁,其中一些已经成功,但它似乎不适用于 20.04。我正在尝试使 SPI 能够遵循本教程。当我运行 python 脚本时,我总是得到:

Traceback (most recent call last):
  File "testwind.py", line 8, in <module>
    spi.open(0,0)
PermissionError: [Errno 13] Permission denied
Run Code Online (Sandbox Code Playgroud)

有没有关于Ubuntu Server 20.04树莓派启用SPI和I2C的官方文档?提前致谢。

hardware python raspberrypi 20.04

2
推荐指数
1
解决办法
2万
查看次数

如何与 zenity 窗口交互并在其中输入一些文本?

我有 python 代码:

import subprocess
subprocess.call(['sh', './zenity.sh'])
Run Code Online (Sandbox Code Playgroud)

和 zenity.sh 文件是

#!/usr/bin/python

zenity --forms --title="Question" \
   --add-entry="Question" \
Run Code Online (Sandbox Code Playgroud)

运行它会打开带有字段的窗口以输入一些文本。

我想在这个 zenity 窗口中输入一些文本,例如我尝试使用的 xdotool

subprocess.call(["xdotool", "type", "some text"])
Run Code Online (Sandbox Code Playgroud)

不工作

然后我创建了另一个 .sh

#!/bin/bash


xdotool search --class zenity windowfocus type 'some text'
Run Code Online (Sandbox Code Playgroud)

也不工作

有任何想法吗?

python bash zenity xdotool 18.04

2
推荐指数
1
解决办法
397
查看次数