Python Parsing arguments to a python file

  • Thread starter Thread starter magistros
  • Start date Start date
  • Tags Tags
    File Python
Click For Summary
To parse arguments in a Python script for CMS_SW, the user attempted to run a command like "cmsRun script.py file.root" but faced issues with file input handling. The suggested method involved using `sys.argv` to retrieve the filename, but an error related to the input source configuration occurred. Another user recommended the `argparse` module for better argument parsing, but it was reported as missing. Due to these complications, the original poster decided to switch to C++ for their implementation. The discussion highlights challenges in integrating Python scripts with CMS_SW and the potential need for alternative programming solutions.
magistros
Messages
4
Reaction score
0
Dear forum,
I would like you to help me on .py scripts.
I am using CMS_SW and I want to do something like this:

cmsRun script.py file.root

where "file.root" is the file that the .py script needs to run... But I cannot find, how I declare it to the .py code...
these .py files, are configuration files...

thank you in advance!
 
Technology news on Phys.org
Try it like this:

Code:
import sys
cmd=sys.argv
filename=cmd[1]
infile = open(filename, 'r') # Now do what you want with the file
 
Depending on the complexity of your needs, you may want to look at the argparse module.
 
Dear phyzguy,
I tried it but I get this error
cms::Exception caught in cmsRun
---- Configuration BEGIN
FailedInputSource Configuration of primary input source has failed
---- Configuration END

Maybe the CMS_SW does not run python but something like this...

Dear jhae2.718,
I tried the argparse and it says that the argparse is missing...

Anyway, I will make it in C++..

Thank you for your time guys!
 
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

Replies
6
Views
3K
  • · Replies 14 ·
Replies
14
Views
8K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 17 ·
Replies
17
Views
7K
  • · Replies 9 ·
Replies
9
Views
1K
Replies
7
Views
2K
Replies
5
Views
15K