标签: pywin32

在Windows上从python连接到odbc的常用方法?

我应该使用什么库来连接到Windows上的python中的odbc?有关odbc的pywin32有什么好的选择吗?

我正在寻找记录良好,健壮,积极维护等等的东西pyodbc看起来很好 - 还有其他吗?

python windows odbc pywin32 pyodbc

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

使用Python连接到Exchange邮箱

我需要在Python脚本中连接到Exchange邮箱,而不使用本地计算机上的任何配置文件设置(包括使用Outlook).如果我使用win32com创建MAPI.Session,我可以使用现有的配置文件登录(使用Logon()方法),但我想提供用户名和密码.

这可能吗?如果是这样,有人可以提供示例代码吗?我更喜欢它只使用标准库和pywin32包.遗憾的是,无法为Exchange服务器启用IMAP访问(然后使用imaplib).

如果有必要:所有脚本将执行的操作是连接到邮箱,并运行收件箱中的邮件,检索内容.如果我能在第一时间获得连接,我可以为此编写代码!

有关Outlook的说明:Outlook将安装在本地计算机上,但它没有任何帐户设置(即所有相应的库都可用,但我需要独立于Outlook内部的任何设置运行).

python email connection exchange-server pywin32

22
推荐指数
3
解决办法
8万
查看次数

在Windows 7中使用pip安装pywin32在python 3.4.2中不起作用

海兰@大家,

我尝试在Windows 7下使用python 3.4.2通过pip(1.5.6)安装pywin32,但我总是得到以下错误消息:

Could not find any downloads that satisfy the requirement pywin32
Some externally hosted files were ignored (use --allow-external pywin32 to all
ow).
Cleaning up...
No distributions at all found for pywin32
Storing debug log for failure in C:\Users\tonka\pip\pip.log
Run Code Online (Sandbox Code Playgroud)

使用pip的所有其他安装工作绝对正常.在pypi.org上,有一个pywin32的包,所以不要真正理解为什么会这样.

我也试过这个--allow-external标志,但后来我得到了以下错误

Could not find any downloads that satisfy the requirement pywin32
Some insecure and unverifiable files were ignored (use --allow-unverified pywi
n32 to allow).
Cleaning up...
No distributions at all found for pywin32
Storing debug log for …
Run Code Online (Sandbox Code Playgroud)

python pip pywin32

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

ctypes:从任意整数构造指针

出于低级目的,我需要从任意地址构造一个ctypes指针,以整数形式给出.例如:

INTP = ctypes.POINTER(ctypes.c_int)
p = INTP(0x12345678) # i *know* this is the address
Run Code Online (Sandbox Code Playgroud)

但所有这些尝试都会导致

TypeError: expected c_long instead of int
Run Code Online (Sandbox Code Playgroud)

我能做些什么来克服这个问题吗?如果有人想知道我为什么需要这个,那么就是为了OVERLAPPED从一个win32file.PyOVERLAPPED用于集成ctypes暴露的函数和win32file包装的API 来提取结构.

谢谢,
-Tomer

python ctypes pywin32

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

Python,获取当前登录用户的Windows特殊文件夹

如何从我的Python脚本中获取Windows特殊文件夹,如My Documents,Desktop等?我需要win32扩展吗?

它必须适用于Windows 2000到Windows 7.

python windows pywin32

20
推荐指数
4
解决办法
9438
查看次数

用python编写的Windows服务,不检测关闭事件并正常停止

我使用With Extended Service Notifications示例代码在python中为Windows XP +编写了一项服务.它非常适合检测用户登录/注销锁定屏幕和其他事件.问题是它永远不会执行关闭事件,并在重启/关闭时正常停止服务.它通过登录/注销事件保持活动状态,并在重新启动后再次启动.任何帮助,将不胜感激.

我不想使用RegisterServiceCtrlHandlerEx并处理控制台信号,如果我能帮助它 - 服务内置了这个功能,我只是以某种方式破坏了它.

这是代码:

from os.path import splitext, abspath
from sys import modules

import win32serviceutil
import win32service
import win32event
import win32api
import win32security
import win32ts

class Service(win32serviceutil.ServiceFramework):
  _svc_name_ = '_unNamed'
  _svc_display_name_ = '_Service Template'

  def __init__(self, *args):
    win32serviceutil.ServiceFramework.__init__(self, *args)
    self.log('Initializing Service')
    self.stop_event = win32event.CreateEvent(None, 0, 0, None)
    self.server = None

  def log(self, msg):
    import servicemanager
    servicemanager.LogInfoMsg(str(msg))
  def logErr(self, msg):
    import servicemanager
    servicemanager.LogErrorMsg(str(msg))
  def logWarn(self, msg):
    import servicemanager
    servicemanager.LogWarningMsg(str(msg))

  def sleep(self, sec):
    win32api.Sleep(sec*1000, …
Run Code Online (Sandbox Code Playgroud)

python service winapi pywin32

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

无法在Python上使用win32com完全关闭Excel

这是我的代码,我找到了许多VBA,.NET框架的答案,并且非常奇怪.执行此操作时,Excel将关闭.

from win32com.client import DispatchEx
excel = DispatchEx('Excel.Application')
wbs = excel.Workbooks
wbs.Close()
excel.Quit()
wbs = None
excel = None # <-- Excel Closes here
Run Code Online (Sandbox Code Playgroud)

但是,当我执行以下操作时,它不会关闭.

excel = DispatchEx('Excel.Application')
wbs = excel.Workbooks
wb = wbs.Open('D:\\Xaguar\\A1.xlsm')
wb.Close(False)
wbs.Close()
excel.Quit()
wb = None
wbs = None
excel = None  # <-- NOT Closing !!!
Run Code Online (Sandbox Code Playgroud)

我在Stack Overflow问题中找到了一些可能的答案.传统方法不起作用.问题是不是Python,我找不到Marshal.ReleaseComObjectGC.我查看了所有演示...site-packages/win32com和其他演示.

如果我能获得PID并杀死它,即使它也不会打扰我.

我在Kill进程中找到了一个基于窗口名称(win32)的解决方法.

可能不是正确的方法,但是工作环境是:

def close_excel_by_force(excel):
    import win32process
    import win32gui
    import win32api
    import win32con …
Run Code Online (Sandbox Code Playgroud)

python com excel pywin32 win32com

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

我如何开始使用PyWin32

我正在寻找良好的资源来开始使用pywin32.我没有找到关于它的教程,书籍或博客的方式.我希望能够使用python自动执行一些常见的重复Microsoft Excel和Word任务(例如打开word doc并搜索和替换电子表格中的数据).

我发现了很多对PyWin32的引用(在google和StackOverflow上),但它总是处于更高级别.我只想找到一些记录良好的资源,帮助我加快速度,这样我就可以使用我发现的其他帖子了.

python excel ms-word pywin32 python-3.x

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

python win32扩展文档

我是python和python win32扩展的新手,可以在http://python.net/crew/skippy/win32/上找到,但是我无法在线或在安装目录中找到任何关于win32扩展提供的文档.这些信息在哪里?

python documentation pywin32

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

安装和运行pywin32 2.7时出错

安装后我想出了几个错误:

pywin32-217.win32-py2.7

我最近将ArcGIS升级到10.1,它使用的是Python 2.7(而不是ArcGIS 10.0附带的2.6)

当我在Windows 7 64位上运行安装程序时,它会安装,但会抛出以下消息:

在文件对象析构函数中关闭失败:

缺少sys.excepthook

丢失了sys.stderr

我有一个简单的python脚本从包含.pdf文件的文件夹打印到打印机,这些文件在升级之前有效

import arcpy, glob, win32api, os

pdfLoc = arcpy.GetParameterAsText(0)

try:
    copies = int(arcpy.GetParameter(1))
except:
    copies = 1

for pdfname in glob.glob(os.path.join(pdfLoc, "*.pdf")):
    fullpath = os.path.join(pdfLoc, pdfname)
    for copy in range(copies):
        win32api.ShellExecute(0, "print", pdfname, None, ".", 0)

del fullpath
del pdfname
del pdfLoc
Run Code Online (Sandbox Code Playgroud)

现在,当我运行脚本时,我收到以下错误:

回溯(最近一次调用最后一次):文件"Z:\ ESRI\Python\Solstice_Tools_Scripts\Printer_Tools\Batch_Print_From_PDF_Only\BatchprintFromPDFOnly_Test.py",第34行,在win32api.ShellExecute(0,"print",pdfname,None,".", 0)错误:(31,'ShellExecute','连接到系统的设备无法运行.')

无法执行(BatchPrintFromPDFOnly2).

我一直在谷歌搜索并尝试了一些解决方案,比如在故障排除模式下运行可执行文件,但错误仍然存​​在.谁能提出可能导致这种情况的人?

作为旁注,我将公司中的4台计算机升级到新版本的python和ArcGIS,其中只有一台是抛出此错误.其余的工作正常.

谢谢,迈克

python installation winapi pywin32

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