小编Nor*_*Cat的帖子

为什么我不能从Python代码中"另存为"Excel文件?

我有一个Python ExcelDocument类,它提供了读取/写入/格式化Excel文件的基本方便方法,我在看似简单的Python代码中遇到了一个奇怪的错误.我有一个保存和saveAs方法:

def save(self):
   ''' Save the file '''
   self.workbook.Save()

def saveAs(self, newFileName):
   ''' Save the file as a new file with a different name '''
   self.workbook.SaveAs(newFileName)
Run Code Online (Sandbox Code Playgroud)

save方法工作正常,但是当我尝试调用saveAs方法时myExcelObject.saveAs("C:/test.xlsx")- 我收到以下错误:

Traceback (most recent call last):
  File "C:\workspace\Utilities\src\util\excel.py", line 201, in <module>
    excel.saveAs("C:/test.xlx")
  File "C:\workspace\Utilities\src\util\excel.py", line 185, in saveAs
    self.workbook.SaveAs(newFileName)
  File "<COMObject Open>", line 7, in SaveAs
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft Office Excel', u"Microsoft Office Excel cannot access the file 'C:\\//8CBD2000'. There are …
Run Code Online (Sandbox Code Playgroud)

python save-as

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

如果它是JPG图像,QLabel()将不会加载像素图

我试图从一个文件QLabel()显示一个pixmapJPG图像(由于它是从网上下载的,它不能在资源文件中),但我在加载它时遇到问题.代码很简单:

label = QLabel()
label.setPixmap(QPixmap("image.jpg"))
Run Code Online (Sandbox Code Playgroud)

它适用于PNG文件,但不适用于JPG文件.我谷歌搜索了很多,发现我需要将"imageformats"文件夹放在脚本所在的同一文件夹中.然而,即使在这样做之后(是的,qjpeg4.dll其他人也在那里),它仍然无效.我也尝试过

path = r"C:\Users\Deusdies\Documents\Work\myapp\imageformats"
app.addLibraryPath(path)
Run Code Online (Sandbox Code Playgroud)

但这也没有帮助.

再次,它加载PNGs很好,但它不会加载JPGs.我甚至在此之前也注意到它也不会加载ICO,但我认为这是一个无关的问题 - 但现在看来并不是这样.

值得注意的是,应用程序此时未转换为.exe- 它通过python.exe解释器来运行PowerShell.

我的开发环境是Windows 7 x64,PySide 1.1.0

我怎么解决这个问题?

python qt pyqt pyside

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

使用Python ctypes调用AutoIt DLL中的函数

我想调用AutoIt dll中的函数,我在C:\ Program Files(x86)\ AutoIt3\AutoItX\AutoItX3.dll中找到了使用Python的函数.我知道我可以使用,win32com.client.Dispatch("AutoItX3.Control")但我不能安装应用程序或在系统中注册任何东西.

到目前为止,这就是我所在的地方:

from ctypes import *
path = r"C:\Program Files (x86)\AutoIt3\AutoItX\AutoItX3.dll"
autoit = windll.LoadLibrary(path)
Run Code Online (Sandbox Code Playgroud)

以下是有效的方法:

autoit.AU3_WinMinimizeAll() # windows were successfully minimized.
autoit.AU3_Sleep(1000) # sleeps 1 sec.
Run Code Online (Sandbox Code Playgroud)

这是我的问题,当我调用像这样的其他方法时,python崩溃了.我得到python.exe已停止从Windows 工作 ...

autoit.AU3_WinGetHandle('Untitled - Notepad', '')
Run Code Online (Sandbox Code Playgroud)

而其他一些方法不会崩溃python但只是不起作用.这个没有关闭窗口并返回0:

autoit.AU3_WinClose('Untitled - Notepad', '')
Run Code Online (Sandbox Code Playgroud)

而另一个返回1但窗口仍然最小化:

autoit.AU3_WinActivate('Untitled - Notepad', '')
Run Code Online (Sandbox Code Playgroud)

我用with测试了这些例子,Dispatch("AutoItX3.Control")一切都像预期的那样工作.

似乎应该返回除字符串以外的东西的方法正在崩溃python.但仍然,其他人WinClose甚至没有工作......

预先感谢您的帮助!

编辑:

使用unicode字符串时,这些方法现在正在工作:

autoit.AU3_WinClose(u'Untitled - Notepad', u'')
autoit.AU3_WinActivate(u'Untitled - Notepad', u'')
Run Code Online (Sandbox Code Playgroud)

我找到了原型AU3_WinGetHandle:

AU3_API void WINAPI AU3_WinGetHandle(const char …

python windows autoit

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

当文件名具有重音时,使用pandas.read_csv进行编码

我正在尝试使用pandas加载CSV,但如果文件名有重音符,则会遇到问题.这显然是一个编码问题,但是虽然read_csv让你在文件中设置文本的编码,但我无法弄清楚如何正确编码文件名.

input_file = r'C:\...\Datasets\%s\Provinces\Points\%s.csv' % (country, province)
self.locs = pandas.read_csv(input_file,sep=',',skipinitialspace=True)
Run Code Online (Sandbox Code Playgroud)

CSV文件是Anzoátegui.csv.当我收到错误时,

input_file = 'C:\\...\Datasets\Venezuela\Provinces\Points\Anzoátegui.csv
Run Code Online (Sandbox Code Playgroud)

错误代码:

OSError: File b'C:\\PF2\\QGIS Valmiera\\Datasets\\Venezuela\\Provinces\\Points\\Anzo\xc3\xa1tegui.csv' does not exist
Run Code Online (Sandbox Code Playgroud)

那么也许它将我的字符串转换为字节?我也尝试使用io.StringIO(input_file),它将正确的文件名作为列标题放在空的上DataFrame:

Empty DataFrame
Columns: [C:\PF2\QGIS Valmiera\Datasets\Venezuela\Provinces\Points\Anzoátegui.csv]
Index: []
Run Code Online (Sandbox Code Playgroud)

有关如何加载此文件的任何想法?不幸的是,我不能只删除重音,因为我必须与需要正确名称的软件接口,并且我有大量文件要格式化(不仅仅是一个).谢谢!

编辑:完整错误

Traceback (most recent call last):
  File "C:\PF2\eclipse-standard-kepler-SR2-win32-x86_64\eclipse\plugins\org.python.pydev_3.3.3.201401272249\pysrc\pydevd_comm.py", line 891, in doIt
    result = pydevd_vars.evaluateExpression(self.thread_id, self.frame_id, self.expression, self.doExec)
  File "C:\PF2\eclipse-standard-kepler-SR2-win32-x86_64\eclipse\plugins\org.python.pydev_3.3.3.201401272249\pysrc\pydevd_vars.py", line 486, in evaluateExpression
    result = eval(compiled, updated_globals, frame.f_locals)
  File "<string>", line 1, in <module>
  File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 404, in parser_f
    return _read(filepath_or_buffer, …
Run Code Online (Sandbox Code Playgroud)

python csv encoding python-3.x pandas

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

如何将msvcr100.dll链接到cx_freeze程序

我有一个Console类型的Python3程序[.py],当执行[编译后的exe文件msvcr100.dll]时,在我需要下载dll文件[google search and download it]的某些机器[朋友或亲戚等]中给出了丢失的错误.把它复制到system32文件夹我自己.

因此,谷歌搜索后,我发现cx_Freeze有一个名为的选项"include_msvcr"build_exe可能帮我解决这个问题,但文档是不是我的标准,我不明白该怎么做.

这是我的setup_console.py代码:

import sys
from cx_Freeze import setup, Executable

base=None
if sys.platform=='win32':
    base="Win32GUI"

setup( name="Rescue Unit",
       version="2.0",
       executables=[Executable("resunitv2.py",base)])
Run Code Online (Sandbox Code Playgroud)

我尝试include_msvcrbase参数后添加该行,Executable但它给出了一个include_msvcr not defined错误.

顺便说一句.我使用这个GUI编译代码,因为我不希望控制台窗口出现,只要程序正在运行[讨厌它]任何人都可以告诉我如何做到[可能使用示例代码]

[cx_Freeze版本为4.3.3,Python版本为3.5,Windows 7 SP1 x64]

python dll windows-7-x64 cx-freeze python-3.x

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

使用Google+登录时允许多个帐户

对于我的应用,我按照此页面上的示例使用Google+登录,但它会签署用户并signinCallback在页面加载时调用.但我不希望它在页面加载时自动登录,更重要的是,我需要让用户有机会在他的不同Google帐户之间进行选择.

当我使用用户登出用户gapi.auth.signOut()然后重新加载包含此按钮的页面时,它仍会自动登录.这不允许用户有机会使用其他Google帐户登录.

Gmail工作流程似乎是自动登录,但登录到"添加帐户"后会给我一个选项,进入此页面.

但是,当我尝试将继续URL更改为我的服务时,它会给我一个"invalid page request"错误.

oauth-2.0 google-plus

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

Python ttk.combobox 强制发布/打开

我正在尝试扩展 ttk 组合框类以允许自动建议。我的代码运行良好,但我想让它在输入一些文本后显示下拉列表,而无需从小部件的输入部分移除焦点。

我正在努力解决的部分是找到一种强制下拉的方法,在 python 文档中我找不到任何提及这一点,但是在 tk 文档中我确实找到了一个我认为应该这样做的 post 方法,除非它没有t 似乎是在 python 包装器中实现的。

我还尝试在自动建议发生后生成向下箭头键事件,但是虽然这确实显示了下拉列表,但它会移除焦点,并且在此事件之后尝试设置焦点似乎也不起作用(焦点不返回)

有没有人知道我可以用来实现这一目标的功能?

我拥有的代码仅适用于仅使用标准库的 python 3.3:

class AutoCombobox(ttk.Combobox):
    def __init__(self, parent, **options):
        ttk.Combobox.__init__(self, parent, **options)
        self.bind("<KeyRelease>", self.AutoComplete_1)
        self.bind("<<ComboboxSelected>>", self.Cancel_Autocomplete)
        self.bind("<Return>", self.Cancel_Autocomplete)
        self.autoid = None

    def Cancel_Autocomplete(self, event=None):
        self.after_cancel(self.autoid) 

    def AutoComplete_1(self, event):
        if self.autoid != None:
            self.after_cancel(self.autoid)
        if event.keysym in ["BackSpace", "Delete", "Return"]:
            return
        self.autoid = self.after(200, self.AutoComplete_2)

    def AutoComplete_2(self):
        data = self.get()
        if data != "":
            for entry in self["values"]:
                match = True
                try:
                    for index in range(0, …
Run Code Online (Sandbox Code Playgroud)

python combobox tkinter ttk python-3.x

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

录音机,将Blob文件保存到服务器 - C#,Mvc

我需要在我正在进行的项目中使用录音机,并且必须在以后收听录制的声音.该项目由c#和asp.net mvc开发.

http://demos.subinsb.com/jquery/voice/

我正在上面的链接中使用录像机系统.单击"下载"时,将为您提供文件.wav格式.它被下载到您的计算机,但我想将其保存到服务器.

该项目的源代码可在链接下方找到.

http://demos.subinsb.com/down.php?id=s/rvx90xq1xtpak3xc647n&class=31

我调查jquery代码:当您单击下载时

 $(document).on("click", "#download:not(.disabled)", function () {
            $.voice.export(function (url) {
                $("<a href='" + url + "'download='MyRecording.wav'></a>")[0].click();
            }, "URL");
            restore(); });
Run Code Online (Sandbox Code Playgroud)

它正在使用此功能.函数中的url参数响应链接为

blob:http%3A//localhost%3A1875/146432b2-8b1b-4eef-8d77-1fdbc8fc74c9
Run Code Online (Sandbox Code Playgroud)

当你在播放器wav文件中使用adres工作但是播放器stil中的src有以下代码

blob:http%3A//localhost%3A1875/146432b2-8b1b-4eef-8d77-1fdbc8fc74c9
Run Code Online (Sandbox Code Playgroud)

题:

如何将声音文件保存到服务器.我无法从本网站的问题和一般在互联网上找到任何解决方案:)

1 - 我必须使用Jquery Ajax将哪个参数发送给控制器?

2 - 如何在控制器端将该参数转换为wav或mp3格式?

从现在开始,非常感谢你们:)

c# audio asp.net-mvc jquery blob

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

base url和base link url有什么区别?

每当我们设置新的magento站点或将站点配置为活动域时我们将基本URL和基本链接url相同,但是我没有深入了解为什么我们放相同?如果两者都应该包含相同的url,那么为什么magento有这个字段?

我只是想知道这个领域有什么特别的目的.希望有人能澄清我.

谢谢

php url magento

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

找到排球请求响应时间android

我一直在使用凌空对服务器进行休息调用.我试图将每个请求的响应时间发送给Google解析分析服务器延迟,在volley jsonobject请求中是否有任何方法可以找到每个请求的响应时间.如果凌空没有提供此功能,我该如何计算每个请求的响应时间?

android response android-volley

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