मैं वर्तमान फ़ाइल को हटाने और सक्रिय दृश्य को बंद करने के लिए एक छोटी प्लगइन लिखने की कोशिश कर रहा हूं। किसी कारण से self.view.file_name() हमेशा कोई नहीं देता है।शानदार टेक्स्ट: वर्तमान दृश्य का फ़ाइल नाम कैसे प्राप्त करें
मैं पाइथन के लिए नया हूं और मुझे नहीं पता कि यह इस तरह क्यों काम नहीं करता है। API Reference फ़ाइल_नाम() के अनुसार वर्तमान दृश्य का फ़ाइल नाम देता है।
import sublime, sublime_plugin, send2trash
class DeleteCurrentFileCommand(sublime_plugin.TextCommand):
def run(self, edit):
f = self.view.file_name()
if (f is None):
return
send2trash.send2trash(f)
self.view.window().run_command('close')
निर्देशिका के आउटपुट (self.view):
[ 'वर्ग', ' delattr', 'dict', 'डॉक', 'प्रारूप ',' getattribute ',' हैश ',' init ',' लेन ',' मॉड्यूल ',' नई ',' को कम ',' reduce_ex ',' रेपर ',' setattr ',' sizeof ',' str ',' subclasshook ',' weakref ',' add_regions ',' begin_edit ',' buffer_id ',' वर्गीकृत ',' command_history ',' em_width ',' एन्कोडिंग ',' end_edit ',' मिटा ' , 'erase_regions', 'erase_status', 'extract_completions', 'extract_scope', 'file_name', 'find' , 'find_all', 'find_all_results', 'find_by_selector', 'fold', 'folded_regions', 'full_line', 'get_regions', 'get_status', 'get_symbols', 'has_non_empty_selection_region', 'id', 'indentation_level', ' indent_region ',' insert ',' is_dirty ',' is_folded ',' is_loading ',' is_read_only ',' is_scratch ',' layout_extent ',' layout_to_text ',' line ',' line_endings ',' line_height ',' line ' , 'match_selector', 'meta_info', 'name', 'replace', 'retarget', 'rowcol', 'run_command', 'scope_name', 'score_selector', 'sel', 'set_encoding', 'set_line_endings', ' set_name ',' set_read_only ',' set_scratch ',' set_status ',' set_syntax_file ',' set_viewport_position ',' settings ',' show ',' show_at_center ',' size ',' split_by_newlines ',' substr ',' syntax_name ' , 'text_point', 'text_to_layout', 'unfold', 'viewport_extent', 'viewport_position', 'visual_region', 'window', 'word']
कंसोल में कोई त्रुटि संदेश? –
नहीं। '(एफ कोई नहीं है)' के लिए चेक हमेशा सत्य है और इसलिए यह 'send2trash()' तक पहुंचने से पहले लौटाता है। 'Send2trash()' कॉल की जांच किए बिना विफल रहता है। जब मैं कंसोल में 'view.file_name()' निष्पादित करता हूं तो यह सही पथ देता है। – Felix
प्रिंट डीआईआर (self.view) का आउटपुट क्या है? –