পাইলট সহ একটি একক নির্দিষ্ট লাইন উপেক্ষা করা কি সম্ভব?


150

আমার শিরোনামে আমার নীচের লাইনটি রয়েছে:

import config.logging_settings

এটি আসলে আমার অজগর লগিং সেটিংস পরিবর্তন করে, কিন্তু পাইলিন্ট মনে করে এটি একটি অব্যবহৃত আমদানি। আমি unused-importসাধারণভাবে সতর্কতাগুলি সরাতে চাই না তাই কেবল এই একটি নির্দিষ্ট লাইনটিকে উপেক্ষা করা কি সম্ভব?

.pylintrcএই প্রকল্পটির জন্য আমার কোনও আপত্তি নেই কারণ একটি কনফিগার ফাইল পরিবর্তন করে উত্তর গ্রহণ করা হবে।

অন্যথায়, এই জাতীয় কিছু প্রশংসা করা হবে:

import config.logging_settings # pylint: disable-this-line-in-some-way

উত্তর:


227

পাইলট বার্তা নিয়ন্ত্রণ পাইলেন্ট ম্যানুয়ালটিতে নথিভুক্ত করা হয়েছে :

স্থানীয়ভাবে কোনও নির্দিষ্ট বার্তা অক্ষম করা কি সম্ভব?

হ্যাঁ, এই বৈশিষ্ট্যটি পাইলেন্ট 0.11 এ যুক্ত করা হয়েছে। এটি
# pylint: disable=some-message,another-one
কাঙ্ক্ষিত ব্লক স্তরে বা পছন্দসই কোডের লাইনের শেষে যুক্ত করে করা যেতে পারে

আপনি বার্তা কোড বা প্রতীকী নাম ব্যবহার করতে পারেন।

উদাহরণ স্বরূপ

def test():
    # Disable all the no-member violations in this function
    # pylint: disable=no-member
    ...
global VAR # pylint: disable=global-statement

ম্যানুয়ালটিতে আরও উদাহরণ রয়েছে

নেই একটি উইকি যা ডক্যুমেন্টগুলিকে সব pylint বার্তা এবং তাদের কোড রয়েছে।


আমি flake8 এস পছন্দ করি# noqa । আমি কোডে অনেক মন্তব্য দেখতে চাই না। # nolintআরও পরিষ্কার হবে।
নীলস লিন্ডেমন

61
import config.logging_settings # pylint: disable=W0611

এটি সহজ ছিল এবং এই লাইনের জন্য নির্দিষ্ট।

যেমন স্টেনল্ট দয়া করে উল্লেখ করেছেন, আপনি আরও পাঠযোগ্য ফর্মটি ব্যবহার ও করতে পারেন:

import config.logging_settings # pylint: disable=unused-import

আপনি কোথা থেকে বার্তাটি সুস্পষ্ট প্রতীক পাবেন? আমার লিন্টার (স্পাইডারের মধ্যে একটি) এটি রিপোর্ট করে না এবং জোমোর উত্তরের সাথে যুক্ত উইকি এটির তালিকাও দেয় না।
Joooeey

মানে unused-import? আমার মনে হয় আমি W0611 ব্যবহার করার সময় আমার রেখাটি আমাকে একটি সতর্কতা দিয়েছে, তবে এটি ছিল> 3 বছর বয়সী তাই আমার মনে নেই: / দুঃখিত
দ্য আনফুন বিড়াল

4

আমি বিশ্বাস করি আপনি যা খুঁজছেন তা হ'ল ...

import config.logging_settings  # @UnusedImport

অন্যান্য ফর্ম্যাটিং সতর্কতাগুলিকে আঘাত করা এড়াতে মন্তব্যের আগে দ্বিগুণ স্থান নোট করুন।

এছাড়াও, আপনার আইডিই (যদি আপনি এটি ব্যবহার করছেন) এর উপর নির্ভর করে সঠিক উপেক্ষা করার নিয়ম যুক্ত করার সম্ভবত একটি বিকল্প রয়েছে (উদাহরণস্বরূপ, Ctrl1যখন কার্সারটি সতর্কবার্তা শেষ হবে তখন গ্রহন চাপলে স্বয়ংক্রিয়ভাবে প্রস্তাব দেওয়া হবে)@UnusedImport


2
এটি কিছু আইডিইগুলির জন্য কাজ করতে পারে তবে এটি কার্যকর হয়নি emacs/flycheck। ধন্যবাদ। উত্তরটি রাখুন যেহেতু এটি অন্য কাউকে সাহায্য করতে পারে।
আনফুন বিড়াল 10

চলমান pylintবা flake8কমান্ড লাইন থেকে কাজ করে না ।
জ্যাকব টমলিনসন

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

4

Https://github.com/PyCQA/pylint/tree/master/pylint/checkers এ ফাইলগুলি পরীক্ষা করে দেখুন । Ctrl + F-ing ফাইলগুলি বা গিথুব অনুসন্ধান বৈশিষ্ট্যটি ব্যবহার করার চেয়ে বার্তাটি থেকে ত্রুটির নাম পাওয়ার আরও ভাল উপায় আমি খুঁজে পাই না:

যদি বার্তাটি "নাম নয় ... মডিউলে ..." হয় তবে অনুসন্ধানটি ব্যবহার করুন:

No name %r in module %r repo:PyCQA/pylint/tree/master path:/pylint/checkers

বা, কম ফলাফল পেতে:

"No name %r in module %r" repo:PyCQA/pylint/tree/master path:/pylint/checkers

গিথুব আপনাকে দেখাবে:

"E0611": (
    "No name %r in module %r",
    "no-name-in-module",
    "Used when a name cannot be found in a module.",

তারপরে আপনি এটি করতে পারেন:

from collections import Sequence # pylint: disable=no-name-in-module

1
আপনি তাদের সব জানতে পারেন ডক্স
এস্তেবান

ধন্যবাদ, উত্সটি দিয়ে যাওয়ার চেয়ে এটি অনেক ভাল। পাইলট ডকের জন্য আমি আরও দুটি আয়না পেয়েছি। স্পষ্টতই, রিডথডোকটি সরকারী আয়না। অন্যটি হ'ল পাইলিন্ট অর্গ
লক্স্যাক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.