[Errno 22] Invalid argument - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: [Errno 22] Invalid argument (/thread-7033.html) |
[Errno 22] Invalid argument - Asafb - Dec-18-2017 Hi, this code doesn't work for me when running in Pycharm & adding the argument to the run when trying in CMD - it just ignores the argument import sys if str(sys.argv)[1] != "" : .... .... else: latest_file = sys.argv[1]
RE: [Errno 22] Invalid argument - Larz60+ - Dec-18-2017 Use something like: import argparse def main(): parser = argparse.ArgumentParser() parser.add_argument("-i", "--ifile", dest='original_filename', help="Filename where headers are to be replaced", action="store") parser.add_argument("-b", "--bfile", dest='replace_original_filename', help="Filename containing body", action="store") parser.add_argument("-o", "--ofile", dest='out_filename', help="Output filename", action="store") args = parser.parse_args() print('original_filename: {}'.format(args.original_filename)) print('replace_original_filename: {}'.format(args.replace_original_filename)) print('out_filename: {}'.format(args.out_filename)) if __name__ == '__main__': main()test from command line with: python TestArgs.py -i 'Myinput1.txt' -b 'MyInput2.txt' -o 'Myoutput.txt'results: or with help (-h):
RE: [Errno 22] Invalid argument - Asafb - Dec-19-2017 Hi, thanks for the quick replay. Doesn't work, the CSV file is in the same folder of the main.py import os import glob import shutil import tkMessageBox import argparse parser = argparse.ArgumentParser() parser.add_argument("-i", "--ifile", dest='original_filename', help="Filename where headers are to be replaced", action="store") parser.add_argument("-b", "--bfile", dest='replace_original_filename', help="Filename containing body", action="store") parser.add_argument("-o", "--ofile", dest='out_filename', help="Output filename", action="store") args = parser.parse_args() print('original_filename: {}'.format(args.original_filename))arguments : C:\Users\asafb\PycharmProjects\Sanity_HB_RR_from_Saved_Pos\Main.py report13122017-103315.csv
RE: [Errno 22] Invalid argument - buran - Dec-19-2017 as you run it now, it looks for the csv file in your CWD - C:\Python27\ You need to supply the full path as you do with the Main.py orrun the script from C:/Users/asafb/PycharmProjects/Sanity_HB_RR_from_Saved_Pos/ or add code that extracts the path of the script and add it to the argument to get the full path RE: [Errno 22] Invalid argument - Asafb - Dec-19-2017 Tried it also with full pass same error:
RE: [Errno 22] Invalid argument - Larz60+ - Dec-19-2017 What I showed you does work. I didn't notice that you were using antique python until now. try: c:\python27\python TestArgs.py -i 'Myinput1.txt' -b 'MyInput2.txt' -o 'Myoutput.txt'Which works , I just tested it. Also, try this and see what's printed: python -VBecause if your 'python' does point to python 2.7 the command I first displayed should work as well. RE: [Errno 22] Invalid argument - buran - Dec-19-2017 no it is not the same - the previous one is [Errno 2] No such file or directory this one is [Errno 22] Invalid argument I would guess you have some folder with space in it, i.e. ... masks a folder like Program Files Also you claimed that csv file is in the same folder as main.py and now you supply different path... RE: [Errno 22] Invalid argument - Asafb - Dec-19-2017 Issue resolved, it was a config issue in the PyCharm Thanks for all the help RE: [Errno 22] Invalid argument - Larz60+ - Dec-19-2017 Always best to run a command line command from the command line not a replicated command line as in PyCharm! (I've been burnt by that one as well) Remindes me of a kid's rhyme ... How much wood would a woodchuck chuck if a woodchuck could chuck wood |