Helpstring in argparse, each string from new line











up vote
0
down vote

favorite












I am doing a CLI utility. When adding a docstring to call help for the module with the function -- help in console, I was faced with the fact that all the added text is displayed as a continuous, unbreakable message. How to separate strings from each other? I tried to add n at the end of the line, but this does not work.



def createParser():
parser = argparse.ArgumentParser(
prog='samplefind',
description="""
Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .
"""









share|improve this question




















  • 1




    That is not a docstring in the usual sense. Please change your title to help string in argparse.
    – kabanus
    Nov 11 at 12:09















up vote
0
down vote

favorite












I am doing a CLI utility. When adding a docstring to call help for the module with the function -- help in console, I was faced with the fact that all the added text is displayed as a continuous, unbreakable message. How to separate strings from each other? I tried to add n at the end of the line, but this does not work.



def createParser():
parser = argparse.ArgumentParser(
prog='samplefind',
description="""
Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .
"""









share|improve this question




















  • 1




    That is not a docstring in the usual sense. Please change your title to help string in argparse.
    – kabanus
    Nov 11 at 12:09













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I am doing a CLI utility. When adding a docstring to call help for the module with the function -- help in console, I was faced with the fact that all the added text is displayed as a continuous, unbreakable message. How to separate strings from each other? I tried to add n at the end of the line, but this does not work.



def createParser():
parser = argparse.ArgumentParser(
prog='samplefind',
description="""
Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .
"""









share|improve this question















I am doing a CLI utility. When adding a docstring to call help for the module with the function -- help in console, I was faced with the fact that all the added text is displayed as a continuous, unbreakable message. How to separate strings from each other? I tried to add n at the end of the line, but this does not work.



def createParser():
parser = argparse.ArgumentParser(
prog='samplefind',
description="""
Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .
"""






python docstring






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 11 at 12:13

























asked Nov 11 at 11:42









lepiloff

10919




10919








  • 1




    That is not a docstring in the usual sense. Please change your title to help string in argparse.
    – kabanus
    Nov 11 at 12:09














  • 1




    That is not a docstring in the usual sense. Please change your title to help string in argparse.
    – kabanus
    Nov 11 at 12:09








1




1




That is not a docstring in the usual sense. Please change your title to help string in argparse.
– kabanus
Nov 11 at 12:09




That is not a docstring in the usual sense. Please change your title to help string in argparse.
– kabanus
Nov 11 at 12:09












1 Answer
1






active

oldest

votes

















up vote
2
down vote



accepted










Use formatter_class=argparse.RawTextHelpFormatter to retain all spaces in your help string. This is the argparse application help string, not a docstring. Could look a bit ugly though:



parser = argparse.ArgumentParser(
prog='samplefind',
formatter_class=argparse.RawTextHelpFormatter,
description="""
Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .
""")


From terminal:





py bla.py -h usage: samplefind [-h]




    Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .



Do note that this include spaces from the beginning of line, new lines, everything.






share|improve this answer























  • I do not know why but it does not work for me.
    – lepiloff
    Nov 11 at 11:51










  • @lepiloff In what way does it not work? Are you using an IDE? Did you try to print(thefunc.__doc__) and it did not produce newlines? Or use it in help(thefunc)?
    – kabanus
    Nov 11 at 11:54










  • print(thefunc.__doc__) return None
    – lepiloff
    Nov 11 at 11:59






  • 1




    @lepiloff you completely changed the question. That is not a docstring. I will edit.
    – kabanus
    Nov 11 at 12:00











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53248388%2fhelpstring-in-argparse-each-string-from-new-line%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
2
down vote



accepted










Use formatter_class=argparse.RawTextHelpFormatter to retain all spaces in your help string. This is the argparse application help string, not a docstring. Could look a bit ugly though:



parser = argparse.ArgumentParser(
prog='samplefind',
formatter_class=argparse.RawTextHelpFormatter,
description="""
Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .
""")


From terminal:





py bla.py -h usage: samplefind [-h]




    Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .



Do note that this include spaces from the beginning of line, new lines, everything.






share|improve this answer























  • I do not know why but it does not work for me.
    – lepiloff
    Nov 11 at 11:51










  • @lepiloff In what way does it not work? Are you using an IDE? Did you try to print(thefunc.__doc__) and it did not produce newlines? Or use it in help(thefunc)?
    – kabanus
    Nov 11 at 11:54










  • print(thefunc.__doc__) return None
    – lepiloff
    Nov 11 at 11:59






  • 1




    @lepiloff you completely changed the question. That is not a docstring. I will edit.
    – kabanus
    Nov 11 at 12:00















up vote
2
down vote



accepted










Use formatter_class=argparse.RawTextHelpFormatter to retain all spaces in your help string. This is the argparse application help string, not a docstring. Could look a bit ugly though:



parser = argparse.ArgumentParser(
prog='samplefind',
formatter_class=argparse.RawTextHelpFormatter,
description="""
Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .
""")


From terminal:





py bla.py -h usage: samplefind [-h]




    Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .



Do note that this include spaces from the beginning of line, new lines, everything.






share|improve this answer























  • I do not know why but it does not work for me.
    – lepiloff
    Nov 11 at 11:51










  • @lepiloff In what way does it not work? Are you using an IDE? Did you try to print(thefunc.__doc__) and it did not produce newlines? Or use it in help(thefunc)?
    – kabanus
    Nov 11 at 11:54










  • print(thefunc.__doc__) return None
    – lepiloff
    Nov 11 at 11:59






  • 1




    @lepiloff you completely changed the question. That is not a docstring. I will edit.
    – kabanus
    Nov 11 at 12:00













up vote
2
down vote



accepted







up vote
2
down vote



accepted






Use formatter_class=argparse.RawTextHelpFormatter to retain all spaces in your help string. This is the argparse application help string, not a docstring. Could look a bit ugly though:



parser = argparse.ArgumentParser(
prog='samplefind',
formatter_class=argparse.RawTextHelpFormatter,
description="""
Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .
""")


From terminal:





py bla.py -h usage: samplefind [-h]




    Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .



Do note that this include spaces from the beginning of line, new lines, everything.






share|improve this answer














Use formatter_class=argparse.RawTextHelpFormatter to retain all spaces in your help string. This is the argparse application help string, not a docstring. Could look a bit ugly though:



parser = argparse.ArgumentParser(
prog='samplefind',
formatter_class=argparse.RawTextHelpFormatter,
description="""
Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .
""")


From terminal:





py bla.py -h usage: samplefind [-h]




    Script to search for matches by word or lines in a text file and save the found information in a new outfile.txt file.
From command line run python sfind.py .
To view all available options: python sfind.py -h .



Do note that this include spaces from the beginning of line, new lines, everything.







share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 11 at 12:07

























answered Nov 11 at 11:45









kabanus

10.9k21237




10.9k21237












  • I do not know why but it does not work for me.
    – lepiloff
    Nov 11 at 11:51










  • @lepiloff In what way does it not work? Are you using an IDE? Did you try to print(thefunc.__doc__) and it did not produce newlines? Or use it in help(thefunc)?
    – kabanus
    Nov 11 at 11:54










  • print(thefunc.__doc__) return None
    – lepiloff
    Nov 11 at 11:59






  • 1




    @lepiloff you completely changed the question. That is not a docstring. I will edit.
    – kabanus
    Nov 11 at 12:00


















  • I do not know why but it does not work for me.
    – lepiloff
    Nov 11 at 11:51










  • @lepiloff In what way does it not work? Are you using an IDE? Did you try to print(thefunc.__doc__) and it did not produce newlines? Or use it in help(thefunc)?
    – kabanus
    Nov 11 at 11:54










  • print(thefunc.__doc__) return None
    – lepiloff
    Nov 11 at 11:59






  • 1




    @lepiloff you completely changed the question. That is not a docstring. I will edit.
    – kabanus
    Nov 11 at 12:00
















I do not know why but it does not work for me.
– lepiloff
Nov 11 at 11:51




I do not know why but it does not work for me.
– lepiloff
Nov 11 at 11:51












@lepiloff In what way does it not work? Are you using an IDE? Did you try to print(thefunc.__doc__) and it did not produce newlines? Or use it in help(thefunc)?
– kabanus
Nov 11 at 11:54




@lepiloff In what way does it not work? Are you using an IDE? Did you try to print(thefunc.__doc__) and it did not produce newlines? Or use it in help(thefunc)?
– kabanus
Nov 11 at 11:54












print(thefunc.__doc__) return None
– lepiloff
Nov 11 at 11:59




print(thefunc.__doc__) return None
– lepiloff
Nov 11 at 11:59




1




1




@lepiloff you completely changed the question. That is not a docstring. I will edit.
– kabanus
Nov 11 at 12:00




@lepiloff you completely changed the question. That is not a docstring. I will edit.
– kabanus
Nov 11 at 12:00


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53248388%2fhelpstring-in-argparse-each-string-from-new-line%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Guess what letter conforming each word

Run scheduled task as local user group (not BUILTIN)

Port of Spain