Errno 22 无效参数 Python
Errno 22 Invalid Argument Python
我正在尝试将一个文件的内容复制到另一个文件,但出现错误,我做错了什么?
for file in os.listdir('offer'):
if '.css' in file:
print(file)
with open(f'offer/{file}', 'r+') as f:
with open('offer/id.css', 'w+') as style_file:
shutil.copyfile(f'offer/{f}', f'offer/{style_file}')
Traceback (most recent call last):
File "C:/Users/Katerina/Desktop/python/test_attempt.py", line 50, in <module>
shutil.copyfile(f'offer/{f}', f'offer/{style_file}')
File "C:\Users\Katerina\AppData\Local\Programs\Python\Python37-32\lib\shutil.py", line 120, in copyfile
with open(src, 'rb') as fsrc:
OSError: [Errno 22] Invalid argument: "offer/<_io.TextIOWrapper name='offer/id.css' mode='r+' encoding='cp1251'>"
我猜你正在寻找类似
的东西
with open('offer/id.css', 'w') as style_file:
for file in os.listdir('offer'):
if '.css' in file:
#print(file)
with open(f'offer/{file}', 'r+') as f:
for line in f:
style_file.write(line)
shutil.copyfile
的目的不同;它实际上不允许您访问或修改任一文件的内容,它只是将一个文件复制到另一个文件。
我知道这不是你的问题,但是当我在 运行 shutil.copy
时遇到一般 [Errno 22] Invalid Argument
错误时,问题是应用程序帐户的目标文件夹的权限已经改变。我只需要将文件夹的 Write Permissions
恢复到应用 运行 所在的帐户。
我正在尝试将一个文件的内容复制到另一个文件,但出现错误,我做错了什么?
for file in os.listdir('offer'):
if '.css' in file:
print(file)
with open(f'offer/{file}', 'r+') as f:
with open('offer/id.css', 'w+') as style_file:
shutil.copyfile(f'offer/{f}', f'offer/{style_file}')
Traceback (most recent call last):
File "C:/Users/Katerina/Desktop/python/test_attempt.py", line 50, in <module>
shutil.copyfile(f'offer/{f}', f'offer/{style_file}')
File "C:\Users\Katerina\AppData\Local\Programs\Python\Python37-32\lib\shutil.py", line 120, in copyfile
with open(src, 'rb') as fsrc:
OSError: [Errno 22] Invalid argument: "offer/<_io.TextIOWrapper name='offer/id.css' mode='r+' encoding='cp1251'>"
我猜你正在寻找类似
的东西with open('offer/id.css', 'w') as style_file:
for file in os.listdir('offer'):
if '.css' in file:
#print(file)
with open(f'offer/{file}', 'r+') as f:
for line in f:
style_file.write(line)
shutil.copyfile
的目的不同;它实际上不允许您访问或修改任一文件的内容,它只是将一个文件复制到另一个文件。
我知道这不是你的问题,但是当我在 运行 shutil.copy
时遇到一般 [Errno 22] Invalid Argument
错误时,问题是应用程序帐户的目标文件夹的权限已经改变。我只需要将文件夹的 Write Permissions
恢复到应用 运行 所在的帐户。