আর্কিপি জিওডাটাবেস ফাইলগুলিতে ফাইলগুলি ওভাররাইট করার প্রত্যাশা করছেন?


13

আমি একটি পাইথন স্ক্রিপ্ট লিখছি, আমি একটি এমএক্সডি পেয়েছি এবং এর ওয়ার্কস্পেসটি আমার প্রয়োজনীয় সমস্ত ফাইল সহ একটি জিওডাটাবেস ফাইল। কোডটি টেস্টিং এবং লেখার ক্ষেত্রে আমি যে সমস্যার মুখোমুখি হচ্ছি তা হ'ল কমান্ড সত্ত্বেও:

arcpy.env.overwriteOutput=True

জিওডাটাবেজে থাকা সমস্ত ফাইল ওভাররাইটে ব্যর্থ। এই চারপাশে কাজ করার একটি উপায় আছে?


আর্কম্যাপে, আপনি জিওপ্রসেসিং> জিওপ্রসেসিং বিকল্পগুলিতে "জিওপ্রসেসিং অপারেশনগুলির আউটপুটগুলি ওভাররাইট" পরীক্ষা করে দেখেছেন?
বাল্টোক

হ্যা, আমি করেছিলাম. তবে কাজ হয়নি।
আনালিসা মেনেলি

3
আপনি কি আপনার ডেটাতে কোনও স্কিমা লক সম্পর্কে সচেতন? এটি পাশাপাশি ওভাররাইটিং প্রতিরোধ করতে পারে। ফাইল এবং ব্যক্তিগত জিওডাটাবেসগুলি এতে বিশেষত সংবেদনশীল, কারণ যদি কোনও বৈশিষ্ট্য শ্রেণিতে একটি লক থাকে তবে এটি পুরো জিওডাটাবেসকে লক করে।
বালটোক

2
আপনি যখন বলেন যে "জিওডাটাবেজে থাকা সমস্ত ফাইল ওভাররাইটে ব্যর্থ হয়েছে", আপনি কি বোঝাতে চান যে স্ক্রিপ্টটি ব্যর্থ হয় বা এটি সম্পূর্ণ হয় তবে কেবল যা ফিচার ক্লাসের উচিত তা ওভাররাইট করে না?
চাদ কুপার

পাইসস্পিটারের মতো পাইথন আইডিই থেকে আপনার কোডটি চালানোর চেষ্টা করুন, তারপরে আরক্যাম্যাপ বন্ধ করুন।
জিওজেক

উত্তর:


16

আমি যদি সঠিকভাবে মনে করি তবে এমন কিছু পরিস্থিতি রয়েছে যার জন্য ওভাররাইটআউটপুট কাজ করবে না। সেক্ষেত্রে নতুন ফাইল লেখার আগে নিম্নলিখিত কোডগুলি ব্যবহার করুন:

if arcpy.Exists(fileInQuestion):
    arcpy.Delete_management(fileInQuestion)

1

ফাইল জিওডাটাবেসগুলি সংকুচিত নয়, তা কেবলমাত্র পঠনযোগ্য তা নিশ্চিত করুন।


0

আমারও এই সমস্যা ছিল এবং স্কিমা লক সম্পর্কে মন্তব্যটি সত্যই সহায়তা করেছিল। আপনার যদি সেই বৈশিষ্ট্য বর্গের সাথে একটি এমএক্সডি থাকে তবে এটি সেই বৈশিষ্ট্য শ্রেণিকে লক করে তাই এটি মোছা যায় না। আপনি যদি কেবলমাত্র সেই বৈশিষ্ট্য শ্রেণিযুক্ত এমএক্সডি থেকে প্রস্থান করেন এবং একই ওভাররাইট কোডটি চালান তবে মনে হয় এটি কার্যকর হবে।

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