Я пытаюсь создать простую часть программного обеспечения, которая автоматически делает список на основе содержимого файла любой вновь вставленной карты памяти USB.python pyinotify не работает с os.listdir() или glob.glob()
Использование ubuntu 14.04.
теперь используют os.listdir() и glob.glob() прекрасно работают сами по себе ...
однако при его использовании с pyinotify, и получение input_dir для os.listdir() или Глоб. glob() из event.pathname ... Я просто получаю пустой список каждый раз ...
попытался объединить строки, чтобы добавить одинарные кавычки, двойные кавычки и т. д. ... безрезультатно.
вот фрагмент кода
#!/usr/bin/python
#notifier setup
import pyinotify, os, glob
wm=pyinotify.WatchManager()
class EventHandler(pyinotify.ProcessEvent):
def process_IN_CREATE(self,event):
global path
path = event.pathname
usb_insertion()
def usb_insertion():
print glob.glob(path+"/*")
print "listdir", os.listdir(path)
handler=EventHandler()
notifier=pyinotify.Notifier(wm, handler)
wdd=wm.add_watch('/media', pyinotify.IN_CREATE, rec=True)
notifier.loop()
Попробуйте напечатать переменную 'path', чтобы вы могли видеть, что это такое. Кроме того, не используйте глобальные здесь, используйте параметр! – kwatford
Я решил это на случай, если кто-то заинтересован. Добавляем time.sleep (2) перед тем, как делать glob или os.listdir(), похоже, сделали это. – hayderOICO
Вам предлагается предоставить ответы на свои вопросы, если вы считаете, что решение будет полезно другим. В противном случае вы можете просто удалить вопрос. – chepner