Script only works if I restart the shell












1














So I wrote a script which gets parameters from input (by hand)
and it writes it in a text file. My only problem is that the text from the input won't appear in the txt file, only if i restart the shell manually. What would you recommend to try to fix this, so I don't have to restart the the shell manially all the time?



Well the script is simple, because I'm beginer :D



# input to txt

text_from_input = input()
file=open("testfile.txt","w")
file.write(text_from_input)
file.close









share|improve this question




















  • 6




    Start by showing us the script.
    – John Anderson
    Nov 23 '18 at 23:10






  • 1




    @JohnAnderson a stripped down, minimal version of the script, which still demonstrates the problem. See how to create a Minimal, Complete, and Verifiable example.
    – Peter Wood
    Nov 23 '18 at 23:16










  • Are you seeing any error messages? Are you using Python3 or Python2?
    – John Anderson
    Nov 23 '18 at 23:24
















1














So I wrote a script which gets parameters from input (by hand)
and it writes it in a text file. My only problem is that the text from the input won't appear in the txt file, only if i restart the shell manually. What would you recommend to try to fix this, so I don't have to restart the the shell manially all the time?



Well the script is simple, because I'm beginer :D



# input to txt

text_from_input = input()
file=open("testfile.txt","w")
file.write(text_from_input)
file.close









share|improve this question




















  • 6




    Start by showing us the script.
    – John Anderson
    Nov 23 '18 at 23:10






  • 1




    @JohnAnderson a stripped down, minimal version of the script, which still demonstrates the problem. See how to create a Minimal, Complete, and Verifiable example.
    – Peter Wood
    Nov 23 '18 at 23:16










  • Are you seeing any error messages? Are you using Python3 or Python2?
    – John Anderson
    Nov 23 '18 at 23:24














1












1








1







So I wrote a script which gets parameters from input (by hand)
and it writes it in a text file. My only problem is that the text from the input won't appear in the txt file, only if i restart the shell manually. What would you recommend to try to fix this, so I don't have to restart the the shell manially all the time?



Well the script is simple, because I'm beginer :D



# input to txt

text_from_input = input()
file=open("testfile.txt","w")
file.write(text_from_input)
file.close









share|improve this question















So I wrote a script which gets parameters from input (by hand)
and it writes it in a text file. My only problem is that the text from the input won't appear in the txt file, only if i restart the shell manually. What would you recommend to try to fix this, so I don't have to restart the the shell manially all the time?



Well the script is simple, because I'm beginer :D



# input to txt

text_from_input = input()
file=open("testfile.txt","w")
file.write(text_from_input)
file.close






python






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 23 '18 at 23:17







NNorbert

















asked Nov 23 '18 at 23:09









NNorbertNNorbert

113




113








  • 6




    Start by showing us the script.
    – John Anderson
    Nov 23 '18 at 23:10






  • 1




    @JohnAnderson a stripped down, minimal version of the script, which still demonstrates the problem. See how to create a Minimal, Complete, and Verifiable example.
    – Peter Wood
    Nov 23 '18 at 23:16










  • Are you seeing any error messages? Are you using Python3 or Python2?
    – John Anderson
    Nov 23 '18 at 23:24














  • 6




    Start by showing us the script.
    – John Anderson
    Nov 23 '18 at 23:10






  • 1




    @JohnAnderson a stripped down, minimal version of the script, which still demonstrates the problem. See how to create a Minimal, Complete, and Verifiable example.
    – Peter Wood
    Nov 23 '18 at 23:16










  • Are you seeing any error messages? Are you using Python3 or Python2?
    – John Anderson
    Nov 23 '18 at 23:24








6




6




Start by showing us the script.
– John Anderson
Nov 23 '18 at 23:10




Start by showing us the script.
– John Anderson
Nov 23 '18 at 23:10




1




1




@JohnAnderson a stripped down, minimal version of the script, which still demonstrates the problem. See how to create a Minimal, Complete, and Verifiable example.
– Peter Wood
Nov 23 '18 at 23:16




@JohnAnderson a stripped down, minimal version of the script, which still demonstrates the problem. See how to create a Minimal, Complete, and Verifiable example.
– Peter Wood
Nov 23 '18 at 23:16












Are you seeing any error messages? Are you using Python3 or Python2?
– John Anderson
Nov 23 '18 at 23:24




Are you seeing any error messages? Are you using Python3 or Python2?
– John Anderson
Nov 23 '18 at 23:24












1 Answer
1






active

oldest

votes


















4














In your code, you're referencing the close method of your file object, but you're not calling it. That means the file isn't closed until you close the interpreter (you could probably also get the same effect by using del file or rebinding the variable to some other object).



To fix the problem, you can call close just by adding parentheses: file.close()



Or better yet, use a with statement:



with open("testfile.txt","w") as file:
file.write(text_from_input)
# the file will be closed here


When the indented block following the with ends, the file will be closed automatically. It will happen even if you exit the block unexpectedly, due to an exception.






share|improve this answer





















    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',
    autoActivateHeartbeat: false,
    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%2f53453750%2fscript-only-works-if-i-restart-the-shell%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









    4














    In your code, you're referencing the close method of your file object, but you're not calling it. That means the file isn't closed until you close the interpreter (you could probably also get the same effect by using del file or rebinding the variable to some other object).



    To fix the problem, you can call close just by adding parentheses: file.close()



    Or better yet, use a with statement:



    with open("testfile.txt","w") as file:
    file.write(text_from_input)
    # the file will be closed here


    When the indented block following the with ends, the file will be closed automatically. It will happen even if you exit the block unexpectedly, due to an exception.






    share|improve this answer


























      4














      In your code, you're referencing the close method of your file object, but you're not calling it. That means the file isn't closed until you close the interpreter (you could probably also get the same effect by using del file or rebinding the variable to some other object).



      To fix the problem, you can call close just by adding parentheses: file.close()



      Or better yet, use a with statement:



      with open("testfile.txt","w") as file:
      file.write(text_from_input)
      # the file will be closed here


      When the indented block following the with ends, the file will be closed automatically. It will happen even if you exit the block unexpectedly, due to an exception.






      share|improve this answer
























        4












        4








        4






        In your code, you're referencing the close method of your file object, but you're not calling it. That means the file isn't closed until you close the interpreter (you could probably also get the same effect by using del file or rebinding the variable to some other object).



        To fix the problem, you can call close just by adding parentheses: file.close()



        Or better yet, use a with statement:



        with open("testfile.txt","w") as file:
        file.write(text_from_input)
        # the file will be closed here


        When the indented block following the with ends, the file will be closed automatically. It will happen even if you exit the block unexpectedly, due to an exception.






        share|improve this answer












        In your code, you're referencing the close method of your file object, but you're not calling it. That means the file isn't closed until you close the interpreter (you could probably also get the same effect by using del file or rebinding the variable to some other object).



        To fix the problem, you can call close just by adding parentheses: file.close()



        Or better yet, use a with statement:



        with open("testfile.txt","w") as file:
        file.write(text_from_input)
        # the file will be closed here


        When the indented block following the with ends, the file will be closed automatically. It will happen even if you exit the block unexpectedly, due to an exception.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 23 '18 at 23:25









        BlckknghtBlckknght

        62.3k556100




        62.3k556100






























            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.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53453750%2fscript-only-works-if-i-restart-the-shell%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

            A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

            Calculate evaluation metrics using cross_val_predict sklearn

            Insert data from modal to MySQL (multiple modal on website)