আইপথনের অভ্যন্তরে পাইথন স্ক্রিপ্ট চলছে


122

আইপথনের অভ্যন্তর থেকে অজগর স্ক্রিপ্ট (মডিউল নয়) এর পথ নির্দেশ না করে চালানো কি সম্ভব? আমি পাইথনপথ সেট করার চেষ্টা করেছি তবে এটি কেবল মডিউলগুলির জন্যই কাজ করছে বলে মনে হচ্ছে। আমি মৃত্যুদণ্ড কার্যকর করতে চাই

%run my_script.py

ডিরেক্টরি ফাইল না থাকা।


import <module>মূলত exec(<moduleSource>)জাভাস্ক্রিপ্ট বা পার্লের মতোই ।
ভোর্টিকো

14
সিনট্যাক্স% রান abc.py এর জন্য +1 - এটি সন্ধান করার চেষ্টা করছিল
সিড ক্ষত্রিয়

1
আপনি এই পথটি ব্যবহার করতে পারেন:% রান .. / স্ক্রিপ্টস / মাই_স্ক্রিপ্ট উদাহরণস্বরূপ
জোস এ

ক্লিক লাইব্রেরি সহ সি এল আই স্ক্রিপ্টগুলি বিকাশ করা এটি আমার কাজ করে না, আমি পেয়েছি: আইওআরররট্রেসব্যাক (সর্বশেষতম কল) / হোম / মিগুয়েলগ / ওয়ার্কস্পেস / প্রজেক্টস << মডিউলে > () 1270 1271 যদি নাম == " প্রধান ": -> 1272 প্রধান () 1273 1274 ...
মাইগুয়েলফগ

উত্তর:


126

"my_script.py" ডিরেক্টরি থেকে কেবল আপনি এটি করতে পারেন:

%run ./my_script.py

সরলতা এবং সংক্ষিপ্ততার সেরা উত্তর
Evhz

SyntaxError: invalid syntaxএখানে, উপর পাইথন কনসোল । ডেবিয়ান 9. তে পাইথন 3.5.3। তবে আইপিথনে কাজ করে।
রটিন

1
@ রটোন কারণ %runএটি আইপথন ম্যাজিক কমান্ড, পাইথন ভাষার অংশ নয়।
হুগোমাইলহোট

28

আইপিথনে স্ক্রিপ্ট কীভাবে চালানো যায়

import os
filepath='C:\\Users\\User\\FolderWithPythonScript' 
os.chdir(filepath)
%run pyFileInThatFilePath.py

যা করা উচিৎ


16

%runজাদু একটি প্যারামিটার রয়েছে file_finderএটা (দেখুন চালানো ফাইলের সম্পূর্ণ পাথ পেতে ব্যবহার করে এখানে ); যেমনটি আপনি নোট করেছেন, এটি কেবলমাত্র বর্তমান ডিরেক্টরিতে দেখায়, প্রয়োজনে ".py" সংযোজন করা হয়।

সেখানে ব্যবহার যা ফাইল আবিষ্কর্তা নির্দিষ্ট করার একটি উপায় হতে বলে মনে হচ্ছে না থেকে%run জাদু, কিন্তু আপনার নিজের জাদু কমান্ড সংজ্ঞায়িত থেকে আপনি বন্ধ করার কিছুই নেই যে মধ্যে কল %runএকটি যথাযথ ফাইল আবিষ্কর্তা সঙ্গে।

খুব বাজে হ্যাক হিসাবে আপনি file_finderনিজেরটি দিয়ে ডিফল্টটিকে ওভাররাইড করতে পারেন :

IPython.core.magics.execution.ExecutionMagics.run.im_func.func_defaults[2] = my_file_finder

সত্যি কথা বলতে কী হারে আইপিথন এপিআই পরিবর্তিত হচ্ছে যা আপনার নিজের যাদু হিসাবে সংজ্ঞায়িত হিসাবে কাজ চালিয়ে যাওয়ার সম্ভাবনা রয়েছে।


16

পাইথনে মডিউল এবং স্ক্রিপ্টগুলির মধ্যে কোনও পার্থক্য নেই; আপনি উভয় স্ক্রিপ্ট এবং মডিউল সম্পাদন করতে পারেন। ফাইলটি অবশ্যই পাইথনপথ এএফআইএকে থাকতে হবে কারণ পাইথনকে অবশ্যই প্রশ্নযুক্ত ফাইলটি সন্ধান করতে সক্ষম হতে হবে। যদি একটি ডিরেক্টরি থেকে অজগরটি কার্যকর করা হয়, তবে ডিরেক্টরিটি স্বয়ংক্রিয়ভাবে পাইথনপথে যুক্ত হয়।

অন্য পাইথন স্ক্রিপ্ট থেকে পাইথন স্ক্রিপ্ট কল করার সবচেয়ে ভাল উপায়টি কী? স্ক্রিপ্ট বনাম মডিউল সম্পর্কে আরও তথ্যের জন্য

এছাড়াও একটি বিল্টিন ফাংশন এক্সিকিফিল (ফাইলের নাম) রয়েছে যা আপনি যা চান তা করবে


1
আমিও তাই ভেবেছিলাম। যাইহোক, অনুশীলনে মডিউলগুলি আমদানি করা যায় তবে অনুবাদক দ্বারা স্ক্রিপ্টগুলি খুঁজে পাওয়া যায় না যদি না তারা যার মালিকানাধীন ডিরেক্টরি থেকে শুরু করে।
টাইলার ডারডেন

1
পড়ুন docs.python.org/tutorial/modules.html#the-module-search-path আরও তথ্যের জন্য। ফাইলটি খুঁজে পাওয়ার জন্য অজগরটির জন্য এটি কোথায় স্থাপন করা উচিত তা বিশদে রয়েছে, আরও স্পষ্টতই, অনেকগুলি মডিউল "if __name__== ' __main__':" লাইনটি শেষে ব্যবহার করে স্ক্রিপ্ট হিসাবে দ্বিগুণ করতে পারে
সাপ এবং কফি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.