افتراضيًا، كل سطر ملف وسيطة واحدة هنا. [1] [2]
الخلاصة السريعة
لا؛ الفراغ داخل السطر يبقى في الوسيطة هنا. [1] [2]
- افتراضيًا، كل سطر ملف وسيطة واحدة هنا. [1] [2]
- على CPython 3.12.14، نفعّل fromfile_prefix_chars="@" ونعرّف item مع nargs="+"؛ دون تخصيص تحويل السطر. [1] [2]
- ملف بسطر bud leaf، ثم نهاية سطر، يعطي item=["bud leaf"] وطولًا 1 عند تقديم مرجعه @. [1] [2]
- التحويل الافتراضي يعيد [arg_line]؛ يحفظ الفراغ، ثم يجمع nargs="+" الوسيطات في قائمة. [1] [2]
- تحكم مستقل بالضبط نفسه: bud ثم leaf في سطرين يعطي item=["bud","leaf"] وطولًا 2. [1] [2]
السطر وسيطة
قراءة الملف
على CPython 3.12.14، نفعّل fromfile_prefix_chars="@" ونعرّف item مع nargs="+"؛ دون تخصيص تحويل السطر. [1] [2]
فراغ داخل السطر
ملف بسطر bud leaf، ثم نهاية سطر، يعطي item=["bud leaf"] وطولًا 1 عند تقديم مرجعه @. [1] [2]
import argparse from pathlib import Path from tempfile import TemporaryDirectory with TemporaryDirectory() as td: path=Path(td)/"args.txt" path.write_text("bud leaf\n",encoding="utf-8") own=argparse.ArgumentParser(fromfile_prefix_chars="@") own.add_argument("item",nargs="+") ns=own.parse_args(["@"+str(path)]) print(ns.item,len(ns.item)) [1] [2]
![سطران؛ تحكم مستقل؛ argparse; fromfile_prefix_chars:"@"; item,nargs:"+"; file:"bud\nleaf\n"; item:["bud","leaf"]; len:2](https://images.bahralolom.com/assets/local-2000-20261012/BA-1806/python-argparse-fromfile-values.png)
سطران مستقلان
التحويل الافتراضي يعيد [arg_line]؛ يحفظ الفراغ، ثم يجمع nargs="+" الوسيطات في قائمة. [1] [2]
with TemporaryDirectory() as td: path=Path(td)/"args.txt" path.write_text("bud\nleaf\n",encoding="utf-8") control=argparse.ArgumentParser(fromfile_prefix_chars="@") control.add_argument("item",nargs="+") cns=control.parse_args(["@"+str(path)]) print(cns.item,len(cns.item)) [1] [2]
تحكم مستقل بالضبط نفسه: bud ثم leaf في سطرين يعطي item=["bud","leaf"] وطولًا 2. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![سطر واحد؛ argparse; fromfile_prefix_chars:"@"; item,nargs:"+"; file:"bud leaf\n"; item:["bud leaf"]; len:1](https://images.bahralolom.com/assets/local-2000-20261012/BA-1806/python-argparse-fromfile-main.png)