问题描述
我使用多处理中的shared_memory制作了python脚本。
在解释器中,一切正常。但是Sub Type1_Data()
Dim ie As InternetExplorer
Dim html As MSHTML.HTMLDocument
Dim RowNumber,ColumnNumber As Long
RowNumber = 3
ColumnNumber = 0
Dim i As Long
Dim HTMLDoc As MSHTML.HTMLDocument
Dim Filt As MSHTML.IHTMLElement
Dim mtbl As MSHTML.IHTMLElement
Dim strempid As MSHTML.HTMLElementCollection
Dim strempid1 As MSHTML.HTMLElementCollection
Dim strempid2 As MSHTML.HTMLElementCollection
Dim strempid3 As MSHTML.HTMLElementCollection
Dim strempid4 As MSHTML.HTMLElementCollection
Dim strempid5 As MSHTML.HTMLElementCollection
Dim strempid6 As MSHTML.HTMLElementCollection
Set ie = New InternetExplorer
ie.Visible = False
ie.navigate ("URL")
do while ie.READYSTATE = 4: DoEvents: Loop
Do Until ie.READYSTATE = 4: DoEvents: Loop
Set HTMLDoc = ie.document
xy:
If HTMLDoc.Title <> "Marketplace | Find a professional" Then
ie.Visible = True
GoTo xy
End If
ie.Visible = True
ThisWorkbook.Activate
Dim Ed As Integer
Ed = 3
While ThisWorkbook.Sheets("ProM Search").Cells(Ed,1).Value <> 0
Ed = Ed + 1
Wend
Ed = Ed - 1
For i = 3 To Ed
Application.ScreenUpdating = True
Set UID = HTMLDoc.getElementById("navSelect")
Set Filt = HTMLDoc.getElementById("searchText")
Set mtbl = HTMLDoc.getElementsByTagName("Table")(23)
Application.Wait DateAdd("s",1,Now)
HTMLDoc.getElementById("NLQTextArea").Value = ThisWorkbook.Sheets("ProM Search").Cells(i,1).Value
HTMLDoc.getElementById("submitaction").Click
Set strempid = mtbl.getElementsByClassName("dojoxGridCell")(1)
Set strempid1 = mtbl.getElementsByClassName("dojoxGridCell")(2)
Set strempid2 = mtbl.getElementsByClassName("dojoxGridCell")(3)
Set strempid3 = mtbl.getElementsByClassName("dojoxGridCell")(7)
Set strempid4 = mtbl.getElementsByClassName("dojoxGridCell")(9)
Set strempid5 = mtbl.getElementsByClassName("dojoxGridCell")(11)
Set strempid6 = mtbl.getElementsByClassName("dojoxGridCell")(12)
ActiveCell.Offset(0,1).Activate
ActiveCell.Value = strempid.innerText
ActiveCell.Offset(0,1).Activate
ActiveCell.Value = strempid1.innerText
ActiveCell.Offset(0,1).Activate
ActiveCell.Value = strempid2.innerText
ActiveCell.Offset(0,1).Activate
ActiveCell.Value = strempid3.innerText
ActiveCell.Offset(0,1).Activate
ActiveCell.Value = strempid4.innerText
ActiveCell.Offset(0,1).Activate
ActiveCell.Value = strempid5.innerText
ActiveCell.Offset(0,1).Activate
ActiveCell.Value = strempid6.innerText
ActiveCell.Offset(1,-7).Activate
DoEvents
If ActiveCell.Value = "" Then
MsgBox "Fetching Completed Successfully",vbExclamation,"ProM - Open Seat Search T2"
GoTo qt
End If
Next
qt:
ie.Quit
Set ie = nothing
Set HTMLDoc = nothing
End Sub
之后,即使键盘中断,它也会无限重启。
这是test_proc.py:
pyinstaller --onefile test_proc.py
输出将为
from multiprocessing import shared_memory
if __name__=="__main__":
n_bytes = 4
shm_name = 'SHMEM'
shm1 = shared_memory.SharedMemory(name=shm_name,create=True,size=n_bytes)
print(shm1.name)
shm1.close()
shm1.unlink()
print('end')
仅当使用此shared_memory时,才会出现问题。
OS Ubuntu 18.04,python 3.8
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)