topluluğun yeni üyesi olarak, doğrudan bir Soru ile katılmak istiyorum .... Birçok yardım ve ilham veren soruları ve cevapları bulduktan sonra, şimdi bir seviyedeyim Google ile ilgili bir soruya bile ulaşamadık. Zipfile.extract kullanarak Python CGI ile Apache üzerinde kodlama
Ama geri konuya:def unzip_dir(zipname):
zfile = zipfile.ZipFile(zipdir + zipname)
for name in zfile.namelist():
(dirname, filename) = os.path.split(name)
if filename.lower().endswith('.json'):
if not os.path.exists(unzipdir):
os.makedirs(unzipdir)
#LASTCHANGE - IDENTIFIED PROBLEM WITH UTF 8 and ZIPfiles in APACHE (Not reproduceable in any terminal)
zfile.extract(name, unzipdir)
shutil.move(wdir+'//'+unzipdir+'//'+name, unzipdir)
aracılığıyla Unix sistemleri üzerinde bu Running: Ben daha da işlemek isteyen bir zip dosyası yüklemeden sonra çalışan bir CGI piton komut dosyası ile bir kodlama sorunu ile mücadele
ssh gayet iyi çalışıyor.
<type 'exceptions.UnicodeEncodeError'>: 'ascii' codec can't encode character u'\xe4' in position 95: ordinal not in range(128)
args = ('ascii', u'analysis/Searchqueries-201650215T114640Z/Suchanf...nfragen/2007-01-01 Januar 2007 bis M\xe4rz 2007.json', 95, 96, 'ordinal not in range(128)')
encoding = 'ascii'
end = 96
message = ''
object = u'analysis/Searchqueries-201650215T114640Z/Suchanf...nfragen/2007-01-01 Januar 2007 bis M\xe4rz 2007.json'
reason = 'ordinal not in range(128)'
start = 95
burada yer alır:
zfile.extract(name, unzipdir)
Bildiğim kadarıyla ben önceki raporlarda anladığımız olarak
ve Q & A i CGI Çağrı yoluyla Web'den bu başlarsanız Ama şu hata Sorun, Apache'nin CGI'yi Python ile nasıl idare ettiğiyle ilgilidir. Python seviyesindeki (sys giriş ve çıkış bilgileri) şifrelemeyi değiştirmeye yönelik tüm girişimler veya böyle bir şey hiçbir şeye yol açmadı.
Ben de kodlama her türlü kritik doğrultusunda adı Değişken kodlamak için çalıştı ama bu esas olarak artık aynı hat zip dosyasında ilgili girişin bulamadı gerçeğine lider oldu:<type 'exceptions.KeyError'>: "There is no item named 'Suchanfragen/Suchanfragen/2007-01-01 Januar 2007 bis M\\x84rz 2007.json' in the archive"
args = (r"There is no item named 'Suchanfragen/Suchanfrage...Januar 2007 bis M\x84rz 2007.json' in the archive",)
message = r"There is no item named 'Suchanfragen/Suchanfrage...Januar 2007 bis M\x84rz 2007.json' in the archive"
Web sunucusunun httpd.conf dosyasını da kontrol ettim, ancak bu UTF-8'i yönlendiriyor.
Herhangi biri bana yardım eli verebilir mi? Sanırım bu çok önemsiz bir konu değil, düşüncemle sınırlı.
GÜNCELLEME: Artık ne yaptığımı bile bilmiyorum ve korkarım ki tüm sistemimi aptallığa düşürürüm. Ben şimdi yeniden başlattıktan sonra hiçbir başarı ile bazı Sanal Host alanında PassEnv denilen benim httpd.conf dosyasında bir değer eklemek için çalıştı.
GÜNCELLEME 2: Bu
sys.stdout = codecs.getwriter("utf-8")(sys.stdout)
ama dürüst ... zip dosyası bağlamında onunla ne yapacağını hiçbir fikri çalıştı.