小编Joh*_*n Y的帖子

处理Python模块中的循环依赖项?

这是一个案例,我在圈子里跑来跑去,我即将疯狂.

我希望Python首先分析所有文件,以便从一开始就知道所有标识符(我认为像Java一样).

我有一个"main.py"和一个"gui.py".每个文件都包含一个类,该类使用另一个文件中的类.当我尝试运行"main.py"时,解释器导入"gui",然后在"gui.py"中导入"main",然后它处理整个主模块并说:"Tee-hee,没有类在gui.py中使用给定的名称."

我该如何处理在Python循环依赖以最小的大惊小怪

python import include

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

使用传递非必要的else语句

根据PEP8文档,我无法找到任何关于我是否应该pass在代码上使用美学原因的参考.根据以下示例,我应该保留这些else还是可以删除它们?到目前为止,我保留它的主要原因是基于"明确比隐含更好"的口头禅.

if fields:
    for i in foo:
        if i == 'something':
            print "something"
        else:
            pass
else:
    pass
Run Code Online (Sandbox Code Playgroud)

python pep8

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

从.xlsx获取单元格颜色

我正在使用openpyxl读取Excel文件。我想从“ xlsx”文件中获取单元格颜色。我试图获得颜色,所以:

wb = load_workbook('Test.xlsx', data_only=True)
sh = wb[Sheet1]
sh['A1'].fill.start_color.index #Green Color
Run Code Online (Sandbox Code Playgroud)

我得到“ 11L”,但我需要得到rgb颜色,我该怎么办?

python excel openpyxl

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

为什么Python 2的raw_input输出unicode字符串?

我在Codecademy的Python课程上尝试了以下内容

hobbies = []

# Add your code below!
for i in range(3):
    Hobby = str(raw_input("Enter a hobby:"))
    hobbies.append(Hobby)

print hobbies
Run Code Online (Sandbox Code Playgroud)

有了它,它工作正常,但如果相反,我尝试

Hobby = raw_input("Enter a hobby:")
Run Code Online (Sandbox Code Playgroud)

我得到[u'Hobby1', u'Hobby2', u'Hobby3'].额外u的来自哪里?

python unicode input python-2.x

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

如何使用自动热键单击窗口上的特定按钮?

我要单击的按钮位于顶部窗口未最大化的位置。它就像是其他一切事物之上的一个小窗口。我想将热键指向其按钮,例如按下D并按下按钮。

autohotkey

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

Openpyxl 保存损坏/不可读的文件。没有错误报告,只是shell重启

我已经学习 Python 几个月了,以便在工作中自动执行一些无聊的任务(主要是 Excel),并且在大多数情况下我都取得了成功。但是两个星期以来,我一直在尝试解决我在使用 openpyxl 时遇到的一个问题,同时使用从其他电子表格收集的数据填充每周报告。openpyxl 版本是 3.0.2 openpyxl.__version__,我使用的是带有内置 IDLE 的 Python 3.6.7。编辑:这是完整的代码https://pastebin.com/MrBZ5Usu

该程序应该做的是:

  1. 从一周的报告中收集数据并将其放入列表中
  2. 从电子表格中收集数据,日期作为键,小时作为字典的值
  3. 打开一个模板电子表格,用这些数据填充它并将其另存为另一个文件。

现在,当我运行程序时,我没有收到错误报告。Python shell 重新启动。该文件在那里,但它是 0 字节,无法打开。我已经运行了一些测试,直到保存工作簿的那一刻,一切似乎都很好。调用时,新工作簿中的单元格会显示我放入其中的值。每条数据都采用所需的标准化格式/类型。当我打电话给wb.save(filename)方法,shell 重新启动。我尝试了不同的方法将数据放入单元格中(使用 f 字符串循环,使用预定义的单元格坐标列表循环,对单元格和数据进行硬编码)但无济于事。Shell 重新启动 - 0 字节的电子表格。我已经确保我机器上的每个模块都是最新的等等。我已经成功地将数据写入搁置模块,然后用另一个脚本提取它们。第二个脚本(只有几行,用相同的代码来填充单元格)成功保存了一个有效的工作簿,但前提是它是同一个文件。我试过在主程序中改变它,但没有保存选项(作为不同的文件,作为同一个文件,文件的一个shutil副本(!))授予成功。我的代码显然有问题(所有新手除外)s错误)但我不能把手放在上面。这是代码 - 有没有人有任何建议?根据要求,我可以提供基本上整个脚本(大约 120 行)。

endlist = load_workbook(f"Endlist_{monat1}_2019.xlsx", data_only=True)
endlistws = endlist.active


#creating an empty dict, to store the dates and hours from endlist
endlist_hrs = {}

#creating a dict with dates as keys and empty lists as values
for cell in endlistws['A']:
    if cell.value != None: …
Run Code Online (Sandbox Code Playgroud)

python excel openpyxl

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

从Python轻松编写格式化的Excel:从Excel格式化开始,在Python中使用它,并从Python重新生成Excel

我必须使用Python的格式创建Excel电子表格.我想通过以下方式做到:

  1. 我从Excel开始,因为它很容易格式化:我用Excel编写了我想要的模型,格式正确
  2. 我从Python读到这个
  3. 我用Python创建了一个格式相同的Excel电子表格

最后,目的是从Python Excel电子表格创建,但使用xlwt进行格式化需要花费大量时间,因此我首先考虑在Excel中进行格式化以提供帮助.

我已经研究了这样做的简单方法,但没有发现任何.我可以坚持使用我目前的工作解决方案,在Python中使用xlwt创建格式化的Excel,但使用起来非常尴尬.

谢谢你的回复

python format excel xlwt

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

添加号码而不携带

可以说我有两个数字,

1号:

1646
Run Code Online (Sandbox Code Playgroud)

2号:

2089
Run Code Online (Sandbox Code Playgroud)

你看到从左到右添加它们没有进位加起来3625如何在python中执行此操作?我不确定但是我需要它添加9 + 6这是15但是当它添加8 + 4时没有继续1是否有任何方式在python中添加这样的?我正在寻找的最终结果是

3625
Run Code Online (Sandbox Code Playgroud)

因为它没有进行剩余的数字

python math

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

如果我在python中比较两个字符串,即使它们是相同的,我也会得到假

我试图比较两个字符串,一个下载,一个来自文件,但if语句返回总是false,即使字符串相等.

难道我做错了什么?这是Python中的错误吗?

码:

#!/usr/bin/python
import json
import urllib2


jsonstring = urllib2.urlopen("https://xkcd.com/info.0.json").read()
j = json.loads(jsonstring)
current_xkcd = j['num']
print current_xkcd
with open ("xkcd.num", "r") as file:
        downloaded_xkcd = file.read().replace('\n', '')
print downloaded_xkcd

if current_xkcd == downloaded_xkcd:
        print "Already got latest xkcd"
else:
        print "Downloading xkcd..."
Run Code Online (Sandbox Code Playgroud)

输出:

1515
1515
Downloading xkcd...
Run Code Online (Sandbox Code Playgroud)

python if-statement

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

使用 pyodbc 连接到 Db2 for IBM i 时遇到问题

我正在尝试使用 pyodbc 和 ibm db2 odbc 驱动程序通过 db2 连接到 as400。

import pyodbc

connection = pyodbc.connect(
    driver='{IBM DB2 ODBC DRIVER}',
    system='192.168.1.100',
    uid='user',
    pwd='pass')
c1 = connection.cursor()

#this is meaningless sql, i just want the connection
c1.execute('select * from libname.filename')
for row in c1:
    print (row)
Run Code Online (Sandbox Code Playgroud)

运行这个给我这个错误

python pydata.py

Traceback (most recent call last):
  File "C:\Users\tca\Desktop\ScriptingSTuff\pydata.py", line 3, in <module>
    connection = pyodbc.connect(
pyodbc.OperationalError: ('08001', '[08001] [IBM][CLI Driver] SQL1013N  The database alias name or database name "" could not be found.  SQLSTATE=42705\r\n …
Run Code Online (Sandbox Code Playgroud)

python db2 pyodbc ibm-midrange

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