পাইথনে একটি স্ট্রিংয়ের প্রথম কয়েকটি অক্ষর কীভাবে প্রদর্শিত হবে?


89

হাই আমি কেবল পাইথন শিখতে শুরু করেছিলাম তবে আমি এখনই একরকম আটকে গিয়েছি।

আমার কাছে hash.txtMD5, Sha1 এবং Sha5-এ হাজারে ম্যালওয়ার হ্যাশ রয়েছে যা প্রতিটি লাইনে ডিলিমিটার দ্বারা পৃথক করে আছে। নীচে 2 টি উদাহরণ লাইন আমি টেক্সট ফাইল থেকে বের করেছি।

416d76b8811b0ddae2fdad8f4721ddbe | d4f656ee006e248f2f3a8a93a8aec5868788b927 | 12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f 56a99a4205a4d6cab2dcae414a5670fd | 612aeeeaa8aa432a7b96202847169ecae56b07ee | d17de7ca4c8f24ff49314f0f342dbe9243b10e9f3558c6193e2fd6bccb1be6d2

আমার উদ্দেশ্য হ'ল প্রথম 32 টি অক্ষর (এমডি 5 হ্যাশ) প্রদর্শিত হবে যাতে আউটপুটটি এরকম কিছু দেখায়:

416d76b8811b0ddae2f داد8f4721ddbe 56a99a4205a4d6cab2dcae414a5670fd

কোন ধারনা?


7
পাইথনের এই সংক্ষিপ্ত পরিচিতি পড়ুন এবং প্রায় অর্ধেক নীচে স্ক্রোল করুন। "স্ট্রিং স্লাইসিং" যা আপনি চান তা।
জোয়েল করনেট


4
স্ট্রিং স্লাইসিং এবং কীভাবে ফাইলগুলি খুলতে হয় যদি আপনি ইতিমধ্যে এটি না পড়ে থাকেন
César

4
আপনি সম্ভবত স্ট্রিংগুলির পদ্ধতি .split()এবং .strip()পদ্ধতিতেও আগ্রহী হতে চলেছেন । উদাহরণস্বরূপ, md5, sha1, sha5 = line.strip().split("|")আপনি এটি অনুমান করতে চান তা বেশ কিছু করে।
ডিএসএম

4
আপনার মন্তব্যের জন্য ধন্যবাদ বন্ধুরা আমি অবশেষে এটি কাজ করেছিলাম। আমি প্রতিটি পদ্ধতি চেষ্টা করেছিলাম এবং মনে হয় ট্যাঙ্কোরস্যামশের কাজগুলি আমার পক্ষে সবচেয়ে সুবিধাজনক। আমি প্রত্যেকে এবং প্রত্যেকের সাহায্যের প্রশংসা করি!
রাইজিং লি

উত্তর:


189

আপনি stringখুব সহজেই 'টুকরো টুকরো' করতে পারেন, যেমন আপনি কোনও থেকে আইটেমগুলি টানতে চান list:

a_string = 'This is a string'

প্রথম 4 টি চিঠি পেতে:

first_four_letters = a_string[:4]
>>> 'This'

বা শেষ 5:

last_five_letters = a_string[-5:]
>>> 'string'

সুতরাং আপনার যুক্তিতে এই যুক্তি প্রয়োগ করা:

the_string = '416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f '
first_32_chars = the_string[:32]
>>> 416d76b8811b0ddae2fdad8f4721ddbe

4
@ কেসার: আপনার কেবল বিভক্ত স্ট্রিংয়ের প্রথম অংশটিই প্রয়োজন তা এই সত্যটি দেখানো সাধারণত সাধারণত ভাল (এবং দ্রুত) the_string.split('|', 1)[0]
এরিক হে লেবিগোট

16

যেহেতু একটি ডিলিমিটার রয়েছে তাই আপনার এমডি 5 কত দীর্ঘ তা নিয়ে চিন্তা করার পরিবর্তে এটি ব্যবহার করা উচিত।

>>> s = "416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f"
>>> md5sum, delim, rest = s.partition('|')
>>> md5sum
'416d76b8811b0ddae2fdad8f4721ddbe'

বিকল্পভাবে

>>> md5sum, sha1sum, sha5sum = s.split('|')
>>> md5sum
'416d76b8811b0ddae2fdad8f4721ddbe'
>>> sha1sum
'd4f656ee006e248f2f3a8a93a8aec5868788b927'
>>> sha5sum
'12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f'

4
পরিবর্তনশীল দৈর্ঘ্যের হ্যাশের জন্য ডিলিমিটার স্টাফ বিবেচনার জন্য +1 :-)
বিনায়ক কোলাগি

1

আপনি যদি প্রথম দুটি অক্ষর এবং একটি স্ট্রিংয়ের শেষ 2 টি অক্ষর চান তবে আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন: name = "India" name[0:2]="In" names[-2:]="ia"

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