Script only works if I restart the shell
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
add a comment |
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
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
add a comment |
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
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
python
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
add a comment |
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
add a comment |
1 Answer
1
active
oldest
votes
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.
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
answered Nov 23 '18 at 23:25
BlckknghtBlckknght
62.3k556100
62.3k556100
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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