小编sun*_*ima的帖子

如何在Windows上使用提升的权限运行python脚本

我正在编写一个需要执行管理任务的pyqt应用程序.我更喜欢用提升权限启动我的脚本.我知道在SO或其他论坛中多次询问此问题.但人们建议的解决方案是从Python脚本中查看这个SO问题 请求UAC提升?

但是,我无法执行链接中给出的示例代码.我已将此代码放在主文件的顶部并尝试执行它.

import os
import sys
import win32com.shell.shell as shell
ASADMIN = 'asadmin'

if sys.argv[-1] != ASADMIN:
    script = os.path.abspath(sys.argv[0])
    params = ' '.join([script] + sys.argv[1:] + [ASADMIN])
    shell.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params)
    sys.exit(0)
print "I am root now."
Run Code Online (Sandbox Code Playgroud)

它实际上要求提升权限,但打印行永远不会被执行.有人可以帮我成功运行上面的代码.提前致谢.

python windows admin elevated-privileges

51
推荐指数
7
解决办法
11万
查看次数

Python复制较大的文件太慢了

我试图将一个大文件(> 1 GB)从硬盘复制到usb驱动器使用shutil.copy.一个简单的脚本描绘了我想要做的是: -

import shutil
src_file = "source\to\large\file"
dest = "destination\directory"
shutil.copy(src_file, dest)
Run Code Online (Sandbox Code Playgroud)

在linux上只需2-3分钟.但是在Windows下,同一文件上的相同文件副本需要10-15分钟.有人可以解释原因并提供一些解决方案,最好使用python代码吗?

更新1

保存文件为test.pySource文件大小为1 GB.Destinantion目录位于USB驱动器中.用ptime计算文件复制时间.结果如下: -

ptime.exe test.py

ptime 1.0 for Win32, Freeware - http://www.
Copyright(C) 2002, Jem Berkes <jberkes@pc-t

===  test.py ===

Execution time: 542.479 s
Run Code Online (Sandbox Code Playgroud)

542.479 s == 9 min.我不认为shutil.copy复制1 GB文件需要9分钟.

更新2

USB的健康状况良好,因为相同的脚本在Linux下运行良好.在Windows native xcopy.Here下使用相同文件计算的时间就是结果.

ptime 1.0 for Win32, Freeware - http://www.pc-tools.net/
Copyright(C) 2002, Jem Berkes <jberkes@pc-tools.net>

===  xcopy F:\test.iso L:\usb\test.iso
1 File(s) copied

Execution time: 128.144 s
Run Code Online (Sandbox Code Playgroud)

128.144 s == …

python performance copy

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

"chunk","block","offset","buffer"和"sector"是什么意思?

我已经看到一些脚本要么处理存档或二进制数据,要么复制文件(不使用python默认函数)使用偏移量缓冲区扇区.

我创建了一个Python应用程序,外部库(存档/提取数据)或二进制文件已经满足了一些要求.我想深入了解一下,通过编写我自己的模块,将这些第三方库功能纳入我的应用程序.现在我想知道这些术语的含义以及我可以从哪里开始.上面有关于这个主题的文件吗?

任何与Python编程语言相关的文档也将受到赞赏.

python buffer block sector chunks

8
推荐指数
1
解决办法
8348
查看次数

在linux和windows中独立分发ruby应用程序

我已经在版本1.9.1上开发了ruby应用程序(桌面应用程序),只有很少的宝石(qtbindings).现在我想将我的应用程序作为独立发布给用户.我想将我的应用程序作为独立版本分发在linux中.做这项工作的最佳宝石/脚本是什么?

ruby deployment software-distribution

7
推荐指数
1
解决办法
4742
查看次数

在构建RPM包时运送*.so和二进制文件

我已经创建了一个python应用程序,我想.so在最终的RPM包中发布一些二进制文件.经过长时间的阅读,我找到了一种方法来添加二进制文件/图像和其他数据文件setup.py.现在,当我使用python setup.py bdist_rpm命令构建RPM时,它抱怨架构依赖:

    Arch dependent binaries in noarch package
error: command 'rpmbuild' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

谷歌搜索后我发现我们可以添加:

#%define _binaries_in_noarch_packages_terminate_build 0
Run Code Online (Sandbox Code Playgroud)

或删除线BuildArch: noarch将在packagename.spec文件中,克服了rpmbuild故障.但是,每次我从build/bdist.linux-i686/rpm/SPECS/packagename.spec命令添加或删除行python setup.py bdist_rpm总是覆盖.spe文件.

有没有办法Arch dependent binaries在rpm中避免和发送*.so和其他二进制文件?

python rpm rpm-spec

6
推荐指数
2
解决办法
5193
查看次数

如何使用matplotlib删除/省略较小的轮廓线

我试图绘制contour压力水平线.我使用的netCDF文件包含更高分辨率的数据(范围从3公里到27公里).由于更高分辨率的数据集,我得到了许多不需要绘制的压力值(相反,我不介意省略某些无关紧要的轮廓线).我已根据此链接http://matplotlib.org/basemap/users/examples.html中给出的示例编写了一些绘图脚本.

绘图后图像看起来像这样

轮廓图

从图像中我已经包围了小而不需要绘制的轮廓.此外,我想contour如上图所示绘制所有线条更平滑.总的来说我想得到这样的轮廓图像: -

互联网形象

我想到的可能解决方案是

  1. 找出绘制轮廓和掩模所需的点数/如果它们的数量很少,则忽略这些线.

要么

  1. 找到轮廓的区域(因为我只想省略圆圈轮廓)并省略/掩盖那些较小的轮廓.

要么

  1. 通过将距离增加到50 km - 100 km来降低分辨率(仅限轮廓).

我能够使用SO线程Python成功获得点数:从matplotlib.pyplot.contour()中查找轮廓线

但我无法使用这些要点实现上述任何建议的解决方案.

任何实现上述建议解决方案的解决方案都非常受欢迎.

编辑:-

@ Andras Deak我print 'diameter is ', diameter在线上方使用了del(level.get_paths()[kp])一行来检查代码是否过滤掉了所需的直径.这是我设置时的过滤消息if diameter < 15000::

diameter is  9099.66295612
diameter is  13264.7838257
diameter is  445.574234531
diameter is  1618.74618114
diameter is  1512.58974168
Run Code Online (Sandbox Code Playgroud)

但是,生成的图像没有任何效果.所有看起来与上面提出的图像相同.我很确定我已经保存了这个数字(在绘制风倒钩之后).

关于降低分辨率的解决方案,plt.contour(x[::2,::2],y[::2,::2],mslp[::2,::2])它可行.我必须应用一些过滤器来使曲线平滑.

删除行的完整工作示例代码: -

以下是您的评论示例代码

#!/usr/bin/env python
from netCDF4 import Dataset
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt
import numpy …
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib matplotlib-basemap

5
推荐指数
1
解决办法
3434
查看次数

Pandas - 将浮点数转换为适当的日期时间或时间对象

我有一个包含天气信息的观测数据集。每列包含特定字段,其中日期和时间位于两个单独的列中。时间列包含每小时时间,如 0000、0600 .. 到 2300。我想要做的是根据特定时间范围过滤数据集,例如在 0000 UTC 到 0600 UTC 之间。当我尝试读取 Pandas 数据框中的数据文件时,默认情况下时间列是以浮点数形式读取的。当我尝试将其转换为 datatime 对象时,它会生成一种我无法转换的格式。代码示例如下:

import pandas as pd
import datetime as dt 
df = pd.read_excel("test.xlsx") 
df.head()
Run Code Online (Sandbox Code Playgroud)

产生以下结果:

       tdate   itime moonph  speed   ...          qnh  windir maxtemp mintemp
0  01-Jan-17  1000.0    NM7      5   ...    $1,011.60    60.0  $32.60  $22.80
1  01-Jan-17  1000.0    NM7      2   ...    $1,015.40   999.0  $32.60  $22.80
2  01-Jan-17  1030.0    NM7      4   ...    $1,015.10    60.0  $32.60  $22.80
3  01-Jan-17  1100.0    NM7      3   ...    $1,014.80   999.0  $32.60  $22.80
4  01-Jan-17  1130.0 …
Run Code Online (Sandbox Code Playgroud)

python time datetime pandas

5
推荐指数
1
解决办法
5916
查看次数

使用python和udisk2列出USB驱动器的详细信息

我开发了一个应用程序,它使用udisks版本1查找并列出连接的USB驱动器的详细信息.详细信息包括设备(/dev/sdb1...etc),安装点和可用空间.但是,我发现现代发行版默认安装了udisks2.这是在其他SO线程上找到的小代码: -

#!/usr/bin/python2.7
import dbus
bus = dbus.SystemBus()
ud_manager_obj = bus.get_object('org.freedesktop.UDisks2', '/org/freedesktop/UDisks2')
om = dbus.Interface(ud_manager_obj, 'org.freedesktop.DBus.ObjectManager')
for k,v in om.GetManagedObjects().iteritems():
  drive_info = v.get('org.freedesktop.UDisks2.Drive', {})
  if drive_info.get('ConnectionBus') == 'usb' and drive_info.get('Removable'):
    if drive_info['MediaRemovable']:
      print("Device Path: %s" % k)
Run Code Online (Sandbox Code Playgroud)

它产生: -

[sundar@arch ~]$ ./udisk2.py Device Path: /org/freedesktop/UDisks2/drives/JetFlash_Transcend_8GB_GLFK4LYSFG3HZZ48

上面的结果很好,但我如何连接org.freedesktop.UDisks2.Block并获取设备的属性?

http://udisks.freedesktop.org/docs/latest/gdbus-org.freedesktop.UDisks2.Block.html

python dbus

4
推荐指数
1
解决办法
3288
查看次数

Jekyll deployed in github shows raw text of index.html file

I am trying to deploy the Jekyll website using the forked repo from https://github.com/cotes2020/jekyll-theme-chirpy theme. On my local system, all works fine. I have followed through all the instructions given in https://chirpy.cotes.page/posts/getting-started/#deployment and all appears to be ok. Even Github build status also indicates that the site is up and running at https://wxguy.github.io. However, when I access https://wxguy.github.io from firefox, The following line is displayed:-

--- layout: home # Index page --- 
Run Code Online (Sandbox Code Playgroud)

This is the exact content of the …

blogs github jekyll github-pages

4
推荐指数
1
解决办法
2095
查看次数

PyQt:将缩放后的图像放置在标签中心

QPixmap用于在标签上显示不同尺寸的图像。我已使用以下代码显示图像:

myPixmap = QtGui.QPixmap(os.path.join("data", "images", image_name))
myScaledPixmap = myPixmap.scaled(self.ui.label.size(), QtCore.Qt.KeepAspectRatio)
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常,没有任何问题。但是,图像显示在标签的左侧而不是中心。同样,缩放比例会进一步缩小图像,而不是填充整个标签。

是否可以在标签中心显示图像?

python position image pyqt qlabel

3
推荐指数
1
解决办法
6428
查看次数

如何只将源文件上传到github?

我有用python编写的项目,我想上传到我的github repo.在笔记本电脑的源目录中,还有其他编译的python脚本(.pyc),我希望避免上传到github.互联网上提供的文档显示将整个源目录上传到github repo.

有没有办法避免将某些文件类型,特别是*.pyc上传到github repo?

python git github

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

PyQt:槽被多次调用

我使用Qt Designer创建了一个自定义小部件.通过使用pyuic,我将.ui文件转换为.py文件.我的意图很简单:我需要找出选择了哪个单选按钮.

这是Designer转换的python脚本ui_persistence_size.py:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'persistance_size2.ui'
#
# Created: Fri Dec 19 00:57:01 2014
#      by: PyQt4 UI code generator 4.10.4
#
# WARNING! All changes made in this file will be lost!

from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig): …
Run Code Online (Sandbox Code Playgroud)

python pyqt signals-slots

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

在 Pandas 中选择特定月份的行

我有一个包含 12 小时数据超过 10 年的数据框。所有数据都按日期存储。我想提取包含特定月份数据的列(请注意,月份不是标准的 1、2、3 格式)。我拥有的“日期”列的行如下所示:

01-May-07
02-May-07
.
.
.
31-Oct-17
Run Code Online (Sandbox Code Playgroud)

如何仅选择仅包含 May、Jun 等数据的列?

最初我认为我可以使用df[df['DATE'].str.contains('May')]. 但它没有按预期工作,导致输出作为输入。

编辑 1

DATE    TIME    MOONPH  SPEED   GUST    CLOUD AMOUNT    DRY WET DEW RH
01-May-07   230 NM7 6   0   4   27.4    25.4    25.4    86
01-May-07   330 NM7 4   0   4   27.4    25.4    25.4    86
01-May-07   430 NM7 3   0   4   27.4    25.4    25.4    86
01-May-07   530 NM7 2   0   4   27.4    25.4    25.4    89
01-May-07   630 NM7 3   0   5   27.4 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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