Python:为什么我的[Errno 13]权限被拒绝?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python:为什么我的[Errno 13]权限被拒绝?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1376字,纯文字阅读大概需要2分钟。
内容图文
![Python:为什么我的[Errno 13]权限被拒绝?](/upload/InfoBanner/zyjiaocheng/676/34ac2c16af334c83a6b790111ec93d32.jpg)
我正在尝试编写一些代码,该代码在一组文件中搜索字符串,然后将包含该字符串的所有文件放到程序开始时将不存在的其他目录中.
import os
import re
def test():
os.chdir("C:/Users/David/Files/TestFiles")
files = os.listdir(".")
os.mkdir("C:/Users/David/Files/TestFiles2")
for x in (files):
inputFile = open((x), "r")
content = inputFile.read()
inputFile.close()
if "Hello Word" in content:
with open ("C:/Users/David/Files/TestFiles2", "w") as outputFile:
outputFile.write(content)
当它运行时,我收到以下错误消息
PermissionError: [Errno 13] Permission denied: 'C:/Users/David/Files/TestFiles2'
只是想知道是否有人可以告诉我为什么出现此错误消息.
解决方法:
您无法打开用于写入的目录:
os.mkdir("C:/Users/David/Files/TestFiles2")
其次是
open("C:/Users/David/Files/TestFiles2", "w")
将无法正常工作.您是要在后一个语句中添加文件名吗?
如果要基于x文件名,则应将该名称添加到路径中:
with open(os.path.join("C:/Users/David/Files/TestFiles2", os.path.basename(x)), 'w') as outputFile:
要移动文件,请改用shutil.move().无需为此打开目录:
if "facebook.com" in content.lower():
shutil.move(x, "C:/Users/David/Files/TestFiles2")
完整的代码,简化了:
def test():
src = "C:/Users/David/Files/TestFiles"
dst = "C:/Users/David/Files/TestFiles2"
os.mkdir(dst)
for filename in os.listdir(src):
path = os.path.join(src, filename)
with open(path, "r") as inputFile:
content = inputFile.read()
if "facebook.com" in content.lower():
shutil.move(path, dst)
内容总结
以上是互联网集市为您收集整理的Python:为什么我的[Errno 13]权限被拒绝?全部内容,希望文章能够帮你解决Python:为什么我的[Errno 13]权限被拒绝?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。