我有一个 python 程序,它使用日志记录模块将数据输出到文本文件,我遇到的问题是,当我在PyCharm中运行脚本时,文本文件的输出工作正常(1-10 值输出到两个控制台屏幕并写入Log_Test_File.txt),但是当我从命令行运行脚本时,仅显示控制台输出(没有任何内容写入 *.txt 文件)。这发生在两者Ubuntu
或我的Raspberry Pi
.
我将在启动时自动运行脚本Pi
(如 sudo),有没有办法配置Pi
或 脚本以使文本输出正常工作?
#!/usr/bin/python
# -*- coding: utf-8 -*-
import logging
logging.basicConfig(filename="Log_Test_File.txt",
level=logging.DEBUG,
format='%(levelname)s: %(asctime)s %(message)s',
datefmt='%m/%d/%Y %I:%M:%S')
i=0
while i<10:
logging.info("Logging test: {}".format(i))
i+=1
Run Code Online (Sandbox Code Playgroud) 首先,我是编程和python的新手,我看过这里但找不到解决方案,如果这是一个愚蠢的问题,请原谅我!
我有两个列表,我正在尝试确定第二个列表中的项目出现在第一个列表中的次数.
我有以下解决方案:
list1 = ['black','red','yellow']
list2 = ['the','big','black','dog']
list3 = ['the','black','black','dog']
p = set(list1)&set(list2)
print(len(p))
Run Code Online (Sandbox Code Playgroud)
除了第二个列表包含重复项之外,它工作正常.
即上面的list1和list2返回1,但list1和list3也是如此,理想情况下应该返回2
有谁能建议解决这个问题?任何帮助,将不胜感激!
谢谢,
亚当
我试图只将表中的可见行复制到同一工作簿中的单独工作表.我使用'ListObject'方法来处理表有点新(出于几个原因,就模块的其余部分而言,直接引用表是一种更好的方法)
下面是我最好的尝试,当我运行它时,我得到'运行时错误'438''就'Sheets("Sheet8").Range("A1").Paste'
行,我已经在互联网上搜索了一个小时,现在试图弄清楚我做错了什么,我该怎么办需要重新短语,以便将复制的数据粘贴到另一张表/表中?任何援助将不胜感激!
谢谢,
亚当
Private Sub CopyVisibleAreaOfTable(ByVal TableName As String)
Const FN_NAME As String = "CopyVisibleAreaOfTable"
On Error GoTo catch
Dim TargetTable As ListObject
Dim NumberOfAreas As Long
Set TargetTable = Sheets("Adj1").ListObjects(TableName)
' Check that there are fewer than 8192 seperate areas
With TargetTable.ListColumns(1).Range
NumberOfAreas = .SpecialCells(xlCellTypeVisible).Areas(1).Cells.Count
Debug.Print NumberOfAreas
End With
If NumberOfAreas = 0 Then
'Do something to trigger an error message
Else
TargetTable.Range.SpecialCells(xlCellTypeVisible).Copy
Sheets("Sheet8").Range("A1").Paste
Application.CutCopyMode = False
End If
finally:
Exit Sub
catch:
Call ErrorReport(FN_NAME, True, …
Run Code Online (Sandbox Code Playgroud) 我有一个宏来过滤一个表(在代码中作为ListObject),然后将DataBodyRange中的可见单元格复制到一个单独的表.除非过滤操作删除所有数据(即表只有标题行而没有其他内容),否则代码工作正常.
有没有一种简洁的方法来检查是否有任何行可见?on error resume
如果可能的话,我想避免使用条款,但我很难想到其他任何方式吗?
我在下面加入了一些伪代码来说明我的意思,任何帮助都会非常感激!
亚当
If TargetTable.DataBodyRange.VisibleRows.Count > 0 Then
TargetTable.DataBodyRange.SpecialCells(xlCellTypeVisible).Copy Destination:=OutputPasteRange
End If
Run Code Online (Sandbox Code Playgroud) 我有一个包含三列的表(“xCoord”、“yCoord”和“Total”)。如果 x,y 坐标对已存在,我想增加 Total 值,否则我想使用 Total = 1 的新 x 和 y 值创建一个新行。
以下是迄今为止我最好的尝试 - 第一次运行查询会添加一个新行(如预期),第二次运行查询会添加一个新行,而不是增加之前创建的行?有没有办法通过单个查询执行此操作?
INSERT
INTO tbl_DATA_HeatmapValues (xCoord, yCoord, Total)
VALUES (11, 22, 1)
ON DUPLICATE KEY
UPDATE Total = Total + 1
Run Code Online (Sandbox Code Playgroud) 我正在创建一个模型,该模型要求用户在某些单元格中输入模型使用的所需电子表格、文件夹等的地址。
而不是让用户剪切和粘贴地址,我希望在单元格本身中包含某种形式的控件,它会提示用户浏览文件,然后在用户选择后将文件路径返回到单元格好的'。
是否有标准的 Windows 窗体控件可以实现这一点?感觉应该有,但我能找到的只有切换按钮、下拉菜单等?
我知道我可以编写一个自定义脚本来捕获 double_click 事件,任何有关更“本机”方式的指针将不胜感激!
谢谢,
亚当
我正在编写一个简短的宏来操作Excel中的一些注释.在我的活动工作表中找到注释的单元格地址/位置是有用的 - 有没有办法在Excel中使用注释对象?或者失败了,任何聪明的解决方法会给我相同的结果吗?
我正在努力实现的一些说明性伪代码:
dim wb as Workbook
dim ws as worksheet
dim cmt as Comment
set wb = ActiveWorkbook
for each ws in wb.sheets
for each cmt in ws.comments
debug.print cmt.address ' Pseudo code
next cmt
next ws
Run Code Online (Sandbox Code Playgroud) excel ×4
vba ×3
excel-vba ×2
python ×2
logging ×1
mysql ×1
python-3.x ×1
raspberry-pi ×1
sql ×1