Searching for a USB in Python is returning there is no disk in drive

2024/10/13 13:17:16

I wrote up a function in Python that looks for a USB drive based on a key identifier file, however when called upon it returns 'There is no disk in the drive. Please insert a disk into drive D:/' (which is an SD card reader) - is there a way to have it search drive letters based on drives that are 'ready'?

def FETCH_USBPATH():for USBPATH in ascii_uppercase:if os.path.exists('%s:\\File.ID' % USBPATH):USBPATH='%s:\\' % USBPATHprint('USB is mounted to:', USBPATH)return USBPATH + ""return ""USBdrive = FETCH_USBPATH()
while USBdrive == "":print('Please plug in USB & press any key to continue', end="")input()FlashDrive = FETCH_USBPATH()

Had a fix in cmd here however turned out command-prompt based didn't suit my needs.

Answer

Finding 'ready' drives may be more trouble that it's worth for your needs. You can probably get away with just temporarily disabling the error message dialog box via SetThreadErrorMode.

import ctypeskernel32 = ctypes.WinDLL('kernel32')SEM_FAILCRITICALERRORS = 1
SEM_NOOPENFILEERRORBOX = 0x8000
SEM_FAIL = SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORSdef FETCH_USBPATH():oldmode = ctypes.c_uint()kernel32.SetThreadErrorMode(SEM_FAIL, ctypes.byref(oldmode))try:for USBPATH in ascii_uppercase:if os.path.exists('%s:\\File.ID' % USBPATH):USBPATH = '%s:\\' % USBPATHprint('USB is mounted to:', USBPATH)return USBPATHreturn ""finally:kernel32.SetThreadErrorMode(oldmode, ctypes.byref(oldmode))USBdrive = FETCH_USBPATH()
while USBdrive == "":print('Please plug in our USB drive and ''press any key to continue...', end="")input()USBdrive = FETCH_USBPATH()
https://en.xdnf.cn/q/118080.html

Related Q&A

Counting phrases in Python using NLTK

I am trying to get a phrase count from a text file but so far I am only able to obtain a word count (see below). I need to extend this logic to count the number of times a two-word phrase appears in th…

Break python list into multiple lists, shuffle each lists separately [duplicate]

This question already has answers here:Shuffling a list of objects [duplicate](26 answers)Closed 7 years ago.Lets say I have posts in ordered list according to their date.[<Post: 6>, <Post: 5&…

AlterField on auto generated _ptr field in migration causes FieldError

I have two models:# app1 class ParentModel(models.Model):# some fieldsNow, in another app, I have child model:# app2 from app1.models import ParentModelclass ChildModel(ParentModel):# some fields here …

How do I replace values in 2D numpy array using a dictionary of {value:(row#,column#)} pairs

import numpy as npthe array looks like so:array = np.zeros((10,10))array = [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.][ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.][ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.][ 0…

Processing items with Scrapy pipeline

Im running Scrapy from a Python script.I was told that in Scrapy, responses are built in parse()and further processed in pipeline.py. This is how my framework is set so far:Python scriptdef script(self…

How to click a button to vote with python

Im practicing with web scraping in python. Id like to press a button on a site that votes an item. Here is the code<html> <head></head> <body role="document"> <div …

Python 2.7 connection to Oracle: loosing (Polish) characters

I connect from Python 2.7 to Oracle data base. When I use:cursor.execute("SELECT column1 FROM table").fetchall()]I have got almost proper values for column1 because all Polish characters (&qu…

getting friendlist from facebook graph-api

I am trying to get users friend list from facebook Graph-api. So after getting access token when I try to open by urlopen byhttps://graph.facebook.com/facebook_id/friends?access_token=authentic_access…

Sorting Angularjs ng-repeat by date

I am relatively new to AngularJS. Could use some helpI have a table with the following info<table><tr><th><span ng-click="sortType = first_name; sortReverse = !sortReverse&quo…

Html missing when using View page source

Im trying to extract all the images from a page. I have used Mechanize Urllib and selenium to extract the Html but the part i want to extract is never there. Also when i view the page source im not abl…