我正在尝试将上传的文件移动到我的Windows系统中的特定文件夹,它给了我WindowsError:[错误5]访问被拒绝错误。我碰巧看到这些问题的解决方案是从cmd行以管理员身份运行python。我不确定这是否可行,因为它是一个Web应用程序,我使用默认的烧瓶服务器进行开发,并从Pycharm运行它。
我的代码是
@app.route('/test',methods=['POST'])
def test():
import os
if not os.path.exists("history_plugin"):
os.makedirs("test")
f = open('test/abc.txt', 'w+')
f.close()
答案 0 :(得分:1)
直接在pycharm'中运行应用程序是在命令提示符下运行它的等价物,但有一些警告。 我个人不喜欢在pycharm中运行python,因为我发现它会导致错误。
理想情况下,您不希望以管理员身份运行,但在Windows方面,您可能会发现存在一些问题。首先,您确定拒绝访问是来自文件,而不是尝试将应用程序绑定到端口80(还要注意尝试绑定Windows等接收端口80的其他问题)
如果问题是由mkdir引起的,请确保您的用户对父文件夹具有权限,而不仅仅是其创建的文件夹。你担心以管理员身份运行是正确的。一般来说,你应该为每个服务创建用户并按照这样的方式运行,但在开发过程中可能会很痛苦(同样,在生产中你也希望运行像uwsgi或者类似的东西来充当python进程管理器) )。
要注意的另一件事是你在哪里运行 - 如果你从桌面文件夹运行,我注意到这也可能会给应用程序带来奇怪的权限问题 - 但我假设你& #39;重新加入用户工作台'某种文件夹。
答案 1 :(得分:0)
我一直在直接从Pycharm运行应用程序,它不以管理员模式运行它
我尝试使用命令提示符作为管理员运行它,它对我有效。