test.py -d "destination_to_copy_files"と入力すると、args.dが読み込まれ、 "config.dat"ファイル(これは動作します)が読み込まれます。ユーザーが指定した場所に、そのファイルからユーザーが指定した宛先に何かをコピーする必要があります。ユーザー入力からargsの宛先にファイルをコピーする
#!/usr/bin/python3
import argparse
import shutil
parser = argparse.ArgumentParser()
parser.add_argument('-c', default="config.dat", help='file to read the config from')
parser.add_argument('-d', default='/home/admin/Documents/backup', help='destination to store files')
args = parser.parse_args()
if args.c:
with open(args.c, 'r') as file:
dest = '/home/admin/Documents/backup'
filelist = file.read().split('\n')
for file1 in filelist:
if file1:
shutil.copy(file1.strip(), dest)
if args.d:
f = open('config.dat','r')
list_contents = f.read()
f.close()
#above reads
with open(args.d, 'r') as file:
dest = args.d
filelist = file.read().split('\n')
for file1 in filelist:
if file1:
shutil.copy(file1.strip(), dest)
助けてください。
私は私が手にスクリプトを実行した場合:
File "./test.py", line 57, in <module>
with open(args.d, 'r') as file:
IsADirectoryError: [Errno 21] Is a directory: 'backup/'
コードの出力はどのようなものですか?これであなたはどこにいるのですか? –
これを実行すると返されるエラーを追加しました。どのように私はarg.dの入力をコピー先に指定することができるのか分かりません –