我正在尝试使用配置文件中的“目录路径”和“prefirx_pattern”。 我在 vdir2 和 vprefix2 变量中得到正确的结果,但列表 local_file_list 仍然为空。
result
vdir2 is"/home/ab_meta/abfiles/"
vprefix2 is "rp_pck."
[]
代码
def get_files(self):
try:
print "vdir2 is" + os.environ['dir_path']
print "vprefix2 is "+ os.environ['prefix_pattern']
local_file_list = filter(os.path.isfile, glob.glob(os.environ['dir_path'] + os.environ['prefix_pattern'] + "*"))
print local_file_list
local_file_list.sort(key=lambda s: os.path.getmtime(os.path.join(os.environ['dir_path'], s)))
except Exception, e:
print e
self.m_logger.error("Exception: Process threw an exception " + str(e))
log.sendlog("error",50)
sys.exit(1)
return local_file_list
我尝试了下面给出的另一种方法,但列表再次为空。
第二个选项:
def get_config(self):
try:
v_dir_path = os.environ['dir_path']
v_mail_prefix = os.environ['mail_prefix']
self.m_dir_path = v_dir_path
self.m_prefix_pattern = v_prefix_pattern
self.m_mail_prefix = v_mail_prefix
except KeyError, key:
self.m_logger.error("ERROR: Unable to retrieve the key " + str(key))
except Exception, e:
print e
self.m_logger.error("Error: job_prefix Unable to get variables " + str(e))
sys.exit(1)
def get_files(self):
try:
local_file_list = filter(os.path.isfile, glob.glob(self.m_dir_path + self.m_prefix_pattern + "*"))
local_file_list.sort(key=lambda s: os.path.getmtime(os.path.join(os.environ['dir_path'], s)))
except Exception, e:
print e
谢谢 桑迪
最佳答案
在此程序之外,无论您在何处设置环境变量,都设置不正确。您的环境变量中包含引号字符。
将环境变量设置为包含路径数据,但不包含引号。
关于python - python 中的列表为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25494444/