2016-11-26 24 views
0

ここでは、1つのディレクトリを新しいパスにコピーするプログラムですが、プログラムの目的にかかわらず、私は単にEnterを押すと終了する方法を知りたいと思います入力を入れる代わりに。私は入力を入力する代わりに終了する選択をしたいと思います

ここに私の試みはsys.exitを使用しています。最初のプロンプト( 'どのdirをコピーするのですか?')で、私は単にEnter(データを入力せずにプロンプ​​トを表示)を押しても、それでも私に2番目の質問をします( 'そして、どこに聞いてもいいですか?>>)
最初のプロンプトでEnterキーを押した後、プログラムを終了したいと思います。

print "\n" * 5 
print "\033[1m" + "Be Careful." 
print "\033[0m" 
print "\n\tThis program will make changes to your directories.\n\tProceed with caution." 
print "\n" * 5 
print "\n" * 2 
print "Press enter at any prompt to exit." 
print "\n" * 5 



from sys import exit 

import shutil, os 
os.chdir('/Users/User/') 
butt = raw_input('Which dir you want copy??>> ') 
whr = raw_input('And to where may i ask??>> ') 
if butt == '' or whr == '': 
    exit(0) 
else: 
    shutil.copytree(butt, whr) 



import os 
inputfolder = raw_input('What\'s the path bro???>>>> ') 
for foldarName, subfolders, filnames in os.walk(inputfolder): 
    print('The current folder is ' + foldarName) 

    for sub in subfolders: 
     print('SUBFOLDER OF ' + foldarName + ': ' + sub) 
    for filna in filnames: 
     print('FILE INSIDE ' + foldarName + ': ' + filna) 

    print ('') 
+0

こんにちはカルレスだろう。私はこれを試して、まったく同じ結果を得ています。それが終了することはありません、単に次のプロンプトに移動します。ありがとう – peer

+1

あなたは*秒*の質問の後まで、チェックして終了しません、なぜこの行動はあなたを驚かせましたか? – jonrsharpe

答えて

0

Pythonはそれゆえ、可変が後、ご希望の結果を持っていない2番目の質問を尋ねるまで空であるかどうかをチェックする、行ずつ実行します。

butt = raw_input('Which dir you want copy??>> ') 
if butt == '' 
    exit(0) 

whr = raw_input('And to where may i ask??>> ') 
if whr == '': 
    exit(0) 

shutil.copytree(butt, whr) # doesn't require an else statement 

また、これを行うためのより効率的な方法は、

if not butt: 
    exit(0) 
+0

パーフェクト。完全な意味合いを持つ。 – peer

関連する問題