我写了一个python小工具,安装在C:\Program Files (x86)\appname
目录下,可是无法创建和读写文件,出现permission denied
错误提示。
之前程序是可以在C:\Users\XXX\AppData\Local\VirtualStore\Program Files (x86)
创建文件的,因为改了一大堆东西,而且代码也很长,就不贴代码了。
如何做才能在C:\Users\XXX\AppData\Local\VirtualStore\Program Files (x86)\appname
创建文件,不关闭UAC,不使用管理员权限。
就像这样的代码:
# -*- coding: utf-8 -*- with open("a.txt","w")as f: pass
操作系统:windows 10 专业版 1607 开启UAC
python 2.7.11
Ia ada kaitan dengan direktori ini di bawah Windows memerlukan hak pentadbir Anda boleh pergi ke direktori lain seperti direktori E:AC untuk mengendalikan fail
Sila tambah sesuatu.
Saya berharap dapat menggunakan virtualisasi UAC, tetapi ini adalah amalan yang tidak dianjurkan oleh Windows. Soalan bertanya tentang sebab dan penyelesaian untuk kegagalan virtualisasi UAC. Sebelum ini saya dapat memaya dengan jayanya, tetapi saya tidak tahu mengapa ia gagal.
Juga memberikan kaedah yang disyorkan untuk tingkap. Buat fail dalam direktori lain. Gunakan
os.getenv('ALLUSERSPROFILE')
atauos.environ.get('ALLUSERSPROFILE')
untuk mendapatkan pembolehubah persekitaran sistem, dan kemudian bina laluan. Pembolehubah berkaitan termasukLOCALAPPDATA
danAPPDATA
, yang sepadan dengan direktori yang berbeza. Mungkin dengan kaedah yang sesuai, masalah ini akan hilang. Adalah lebih baik untuk mendapatkan pembolehubah sistem dan menulisnya ke dalam fail daripada mencipta folder pada pemacu C atau pemacu lain Bagaimana jika tiada huruf pemacu DEF lain, atau huruf pemacu sistem bukan pemacu C? Program tidak boleh ditulis sehingga mati Adalah lebih baik untuk mengikuti cadangan Microsoft dan amalan yang dipersetujui oleh semua orang. Akhirnya, saya merasakan bahawa segmentfault tidak cukup aktif Soalan yang saya ajukan pada dasarnya ditanya dan dijawab. Biar saya merungut sekali lagi, editor teks tidak mudah digunakan.Pautan berkaitan UAC
Anda boleh membahagikan kebenaran direktori Jika anda mesti membuat fail dalam direktori ini, berikan kebenaran boleh tulis folder bergantung pada keperluan anda