[python-win32] win32api.FindFiles hangs
Boylan, Ross
Ross.Boylan at ucsf.edu
Wed Dec 5 14:00:50 EST 2018
The problem doesn't seem to be python-specific; it appears the underlying FindNext function in the Windows API just keeps returning the same file name instead of moving on.
In VBA in Access 2010:
Public Sub test2(pattern)
Dim fn As String
fn = Dir$(pattern)
Do While fn <> ""
Debug.Print fn
fn = Dir$()
Loop
End Sub
When I execute with test2("Z:BSTImport.py") this loops, apparently forever, with each iteration returning BSTImport.py. If I give it *.py as the pattern it prints 2 files (correctly) and exits. I assume the first call to Dir$ does FindFirst and the later ones do FindNext.
Using the complete path name doesn't help.
This seems both bizarre and a sign that my installation of Windows (not python for windows) is pretty messed up.
Ross
________________________________________
From: python-win32 <python-win32-bounces+ross.boylan=ucsf.edu at python.org> on behalf of ckkart at hoc.net <ckkart at hoc.net>
Sent: Wednesday, December 5, 2018 6:48:21 AM
To: python-win32 at python.org
Subject: Re: [python-win32] win32api.FindFiles hangs
Works just fine on my windows7 machine with python2.7 64bit and
pywin32-221
It yields results for both existing and non existing files.
Christian
Am 2018-12-05 01:20, schrieb Ross.Boylan at ucsf.edu:
> win32api.FindFiles() works when the argument is "*" or "*.py". It
> works, in the sense of returning an empty list, if the argument is a
> random name not present in the directory. But it fails with
> "BSTImport.py", as well as the name of every file in the directory
> that I've tried.
> ________________________________________
> From: Boylan, Ross
> Sent: Tuesday, December 4, 2018 5:12 PM
> To: python-win32 at python.org
> Subject: win32api.FindFiles hangs (was COM registration hangs up: 32
> bit Python 3.7 on 64 bit Win 7)
>
> I tried using my 64 bit Python 3.6 and ran into the same problem.
> Tracing through with pdb, the following line seems to be where it hung
> up:
>> c:\program
>> files\python36\lib\site-packages\win32com\server\register.py(419)RegisterClasses()
> -> moduleName =
> os.path.splitext(win32api.FindFiles(sys.argv[0])[0][8])[0]
> (Pdb) n
>
> Is this some kind of string conversion issue? My installation is
> borked?
> Manual debugging statements show sys.argv[0] is 'BSTImport.py'.
>
> win32api.FindFiles('BSTImport.py')
> in a python 3.7 shell (32 bit) hangs.
>
> I think I installed pywin32 via pip.
> _______________________________________________
> python-win32 mailing list
> python-win32 at python.org
> https://mail.python.org/mailman/listinfo/python-win32
_______________________________________________
python-win32 mailing list
python-win32 at python.org
https://mail.python.org/mailman/listinfo/python-win32
More information about the python-win32
mailing list