2017-01-16 16 views
0

У меня есть папка Линукс, содержащий несколько файлов:как передать регулярное выражение в качестве параметра питона

$Files_samples ls 
    Sample_6_5_control1.fastq 
    Sample_6_5_control1_fastqc.html 
    Sample_6_5_control1_fastqc.zip 

и я хочу передать мой питон скрипт регулярное выражение (регулярное выражение), описывающий некоторые из них, например

python Syncit.py -I /Files_samples/Sample*

мой код:

parser = optparse.OptionParser(usage) 
    parser.add_option('-I','--inputPath', help = 'directory or a file to sync' ,dest='inputPath') 
    inputPath=opts.inputPath 
    print inputPath 

мой НУ tput будет:

Sample_6_5_control1.fastq 

который является первым найденным файлом матч Sample *, то, что я действительно хочу, чтобы передать /Files_samples/Sample* аргумент как строка будет использовать позже glob.glob функции.

мысли?

+1

Добро пожаловать в Stackoverflow ! Чтобы получить максимальную отдачу от сайта, важно задавать хорошие вопросы. Руководство по задаваемым вопросам находится по адресу: http://stackoverflow.com/help/how-to-ask. В этом случае вы не описываете проблему, с которой вы сталкиваетесь. –

+1

'/ Files_samples/Sample *' вам нужно будет процитировать это, чтобы предотвратить расширение оболочки. – muru

ответ

0

Я хотел бы добавить еще один аргумент, называемый шаблон, например:

parser.add_option('--pattern', dest='pat') 

А потом

inputPath = os.path.join(opts.inputPath, opts.pat) 

Вы можете назвать ваш сценарий как так:

python Syncit.py -I /Files_samples --pattern Sample* 
+0

У меня все равно будет только первый файл, пока я ищу все. linux интерпретирует Sample * to Sample_6_5_control1.fastq, когда я вызываю скрипт: 'python Syncit.py -I/Files_samples --patern Sample *' как первый – hamaor